[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: О распределении ролей клиента и сервера
sergeiss
Ясно дело, что тема во Флейме wink.gif

А мысль вот какая... Раньше, лет сколько-то там назад, всё было ясно и понятно: вся страница HTML формируется на сервере и отсылается в браузер. Javascript использовался для всяких мелочей. Я вот, например, сам начинал веб-программирование с "чистого" ПХП.
В данный момент я занимаюсь фронт-эндом, на базе Angulal и jQuery. Здесь сервер используется совершенно по-другому: он предоставляет шаблоны страниц и частей страниц, а также все динамические данные через аякс-запросы. В этих данных передаются только данные, без HTML. Все эти данные показываются на странице средствами JS.
Также как и раньше, сервер предоставляет картинки.

Да и сами серверы сейчас можно писать на JS.

Вот и получаем интересную картину.
Во-первых, сервер может работать на JS и поэтому программеру достаточно знать только JS для написания полноценного сайта, как клиентской, так и серверной частей. Те же динамические картинки, которые я когда-то сделал на ПХП, сейчас с бОльшим удовольствием и с бОльшей эффективностью реализовал бы на JS.
Во-вторых, а какие же функции остаются у сервера, коли мы многое отдаем клиенту?
1. Валидация данных, поступающих от клиента.
2. Какие-нибудь серьёзные расчеты или просто анализ данных, на основании информации из любого источника.
3. Работа с различными источниками данных: базы данных, CURL, FTP...
4. Формирование ответа для клиента.
5. ...? а что еще ?

И тогда появляется другой вопрос: а нафига нужны всякие навороченные фреймворки ПХП? wink.gif Задачи-то, которые решает сервер, упрощаются. И решить их можно, не изучая несколько языков, достаточно только JS.

И мало того!!! На JS можно делать и мобильные приложения для Андроида, Яблоида "и иже с ними". И пусть они слегка тормознутее "нативных", но для большинства ситуаций это совершенно не критично. Поэтому они будут работать и никто не заметить никаких проблем. А мобильные приложения - они ж не только с вебом связаны. Тут спектр применения JS оказывается существенно шире, выходя далеко за рамки того, для чего он изначально разрабатывался.

Вот и вопрос "на засыпку", провокационный smile.gif Нафига в вебе другие языки программирования, если JS покрывает практически всё?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Invis1ble
Цитата (sergeiss @ 4.12.2016 - 22:44)
Нафига в вебе другие языки программирования, если JS покрывает практически всё?

Исторически так сложилось. Да и до сих пор в мире JS не всё устаканилось, постоянно появляется очередной "убийца" всего, что порождает хаос, разброд и шатания.
Кроме того, на JS проще допустить ошибки. Если уж и писать крупное приложение, то на каком-нибудь Typescript'е.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

sergeiss
Цитата (Invis1ble @ 4.12.2016 - 23:03)
Если уж и писать крупное приложение, то на каком-нибудь Typescript'е.

Но это уже другой язык!

И почему, кстати, на JS проще допустить ошибки?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Invis1ble
Цитата (sergeiss @ 4.12.2016 - 23:39)
Но это уже другой язык!

Он компилируется в JS.

Цитата (sergeiss @ 4.12.2016 - 23:39)
И почему, кстати, на JS проще допустить ошибки?

Потому что динамическая типизация.
Да и вообще, сам язык довольно убог.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

S.Chushkin
Цитата (sergeiss @ 4.12.2016 - 22:44)
Вот и вопрос "на засыпку", провокационный smile.gif Нафига в вебе другие языки программирования, если JS покрывает практически всё?

Дело не в JS, PHP или любом другом языке. Дело в клиент-сервер.
В этой связке правильный принцип простой: на клиенте делается только то, что нельзя сделать на сервере. Допустимо, если намного сложнее, при условии, что не ухудшает безопасность.
Переносить задачи/работу сервера на клиента это плохое решение. К сожалению, сейчас это модно. sad.gif

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
inpost
sergeiss
создаю переменную, вывожу переменную. Изи. На PHP 1 раз проверил и счастлив, что всё работает. А вот в JS такой трюк не поможет, каждый по своему себя ведёт, одному то не нравится, второму другое, третье третьему. А ещё и приватный режим...
А завтра Chrome выпустит новый патч с ошибкой, через день залатает дыру, а к этому времени разрабы Яндекса уже воспользуются той версией и через неделю выпустят кривой Яндекс Браузер.

Нет уж, спасибо! wink.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
twin
Я вот начинал с actionscript. Очень жаль, что похерили такой язык)) Сейчас делаются жалкие попытки приблизиться к тому, что умел флэш. Но как то невнятно. К тому же нет стандартов, да.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
depp
Цитата (Invis1ble @ 5.12.2016 - 00:03)
Да и вообще, сам язык довольно убог.

конечно, холивар. но js лично мне по своей объектной модели нравится куда больше php.
там все объект. все просто и понятно. если знаешь язык и его особенности - то он просто шикарен.
sergeiss
Цитата (S.Chushkin @ 5.12.2016 - 09:02)
В этой связке правильный принцип простой: на клиенте делается только то, что нельзя сделать на сервере.

Вот тут как раз и дилемма smile.gif HTML можно сформировать на сервере. Вопрос: а надо ли? Ведь в зависимости от текущих потребностей JS может по-разному показывать полученные данные. При условии, что ему передали данные, а не готовый HTML. Сервер же не может всегда знать, что там на клиенте творится, какие у него сиюсекундные потребности. Сейчас же много динамики у сайтов.

Цитата (S.Chushkin @ 5.12.2016 - 09:02)
Переносить задачи/работу сервера на клиента это плохое решение.

Верно и обратное.

Цитата (depp @ 5.12.2016 - 11:03)
там все объект. все просто и понятно. если знаешь язык и его особенности - то он просто шикарен.

Категорически согласен smile.gif Потому и тема появилась, что если хорошо знаешь JS и "умеешь его готовить", то с ним работать достаточно легко.

inpost, честно говоря не понял, что ты имел ввиду.

Цитата (Invis1ble @ 5.12.2016 - 00:03)
Да и вообще, сам язык довольно убог.

Современенный JS ну очень сильный язык, особенно его возможности, связанные с HTML5 и с ES6.
Вот скажи: что именно, по твоему мнению, не хватает JS?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Invis1ble
Цитата (sergeiss @ 5.12.2016 - 11:33)
что именно, по твоему мнению, не хватает JS?

Нормальных private/protected модификаторов. Опциональной статической типизации. Интерфейсов.

Цитата (sergeiss @ 5.12.2016 - 11:33)
Современенный JS ну очень сильный язык

По сравнению с ES5 есть улучшения. Но попробуй покодить на том же TypeScript и мы продолжим эту беседу smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

sergeiss
Цитата (Invis1ble @ 6.12.2016 - 01:43)
Нормальных private/protected модификаторов. Опциональной статической типизации. Интерфейсов.

Лично меня вполне устраивает объектная модель JS smile.gif

Цитата (Invis1ble @ 6.12.2016 - 01:43)
Но попробуй покодить на том же TypeScript и мы продолжим эту беседу

А оно мне точно нужнО? Я имею ввиду TypeScript.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
inpost
sergeiss
О том, что геморно писать хороший код из-за страха вечной поломки и проблемы в отладке.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Invis1ble
Цитата (sergeiss @ 6.12.2016 - 13:18)
А оно мне точно нужнО?

Странный вопрос. Это не мне решать.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.