@31415
системный инженер

Где можно прочитать про историю использования Javascript во frontend, эволюцию фреймворков и т.п.?

Есть ли где-то исторический обзор использования Javascript, во frontend в первую очередь? Для чего он был создан, как использовался в браузерах первое врямя, как появилась концепция DOM и управления им через Javascript, зачем были созданы первые фреймворки, какие задачи они решали, как конкурировали на первых этапах, как и почему победил jQuery, почему были созданы фреймворки последнего поколения (Angular, React), чем в концепции они отличаются, какие задачи решают? Куда движется всё это дело, что умрёт с приходом ES6?
На часть этих вопросов, наверно, можно найти ответ перелопатив пол-интернета, но есть ли что-то подобное в готовом виде? Или может кто-то с опытом может написать?
  • Вопрос задан
  • 327 просмотров
Пригласить эксперта
Ответы на вопрос 2
IonDen
@IonDen
JavaScript developer. IonDen.com
Почему появились фреймворки вроде ангуляра?

Помню одно время JS использовался только для всяких там выпадающих меню и попапчиков. Казалось ничего не изменится, пока вдруг не началась ajax-мания. Все вокруг вдруг захотели знать что это такое и как работает. Многие просто начали хотеть себе на сайте ajax, так как без ajax-а уже не по пацански). Примерно в то же время из тени вышел JSON, что только укрепило позиции Ajax на рынке фронтенда (jQuery не будь дураком один из первых запилил чудесный и удобный API для работы с xhr).

Примерно в это же время появились и успешно существовали Full-flash сайты. Которые прилично определи свое время. Уже тогда на флеш-сайтах можно было сделать гораздо больше, чем даже сегодня мы можем с помощью html5, css3 и прочих новых API. Ну и конечно же они отлично умели в XHR. Если бы не сложность разработки и прожорливость флеш-плагина, они вполне могли бы и победить. Но, слава богу, JS тоже нормально научился работать с XHR.

Какое-то время эта технология бурлила, люди методом тыка искали как лучше всего использовать эту технику, пока в какой-то момент кто-то не подумал о том, почему бы весь сайт не сделать на ajax? Сказано сделано. Но к сожалению JS, оказался слишком примитивным языком, full-ajax сайты очень трудно понимать и поддерживать. Ушлые программисты тут же начали писать новые абстракции и сахар для упрощения работы ajax-сайтов. Так появились и начали развиваться библиотеки вроде бэкбона.

Примерно в это же время вошла в моду разработка мобильных приложений. Для их поддержки ребятам с сервера приходилось пилить полностью новый бэкенд. Двойная работа, прощай выходные, привет сверхурочные. Конечно, какое-то время бекендеры терпели это безобразие, но в какой-то момент либо кто-то то кого-то пнул, либо кто-то из фронтенда вдруг заметил что их коллеги ходят как зомби с темными кругами под глазами от недосыпа. И тут то до ребят дошло, раз фронтенд теперь так хорошо умеет в ajax, то почему бы не пойти дальше и взять на себя часть их работы.

В общем, не долго думая, ребята запилили ангуляры, эмберы, кнокауты и прочие фреймворки, создав тем самым толстый клиент, который теперь обменивался с сервером только данными, а остальное делал сам. Как мобильное приложение). В общем бэкендеры опять довольны, вместо двух серверов теперь можно обойтись одним (ну конечно есть тонкости, но в целом норм). Жаль только поисковики ставят палки в колеса и не пускают нас в рай)
Ответ написан
Комментировать
@VZVZ
Reverse-Engineer, Software Developer, Architect
> Или может кто-то с опытом может написать?
Ну, за деньги может и напишут, на фрилансе.

А так, история - не больно интересная штука для большинства. А у спецов не хватает времени на все, поэтому пишут статьи, полезные на практике для большинства, а не те, какие паре студентов понравятся, а зато десяток троллей их обминусует и обжалует модерам, ибо не понравится твое мнение (например, некоторые старпёры бредят low-level'ом и обсирают вообще любые фреймворки по определению) или просто лично ты им рылом не выйдешь.

Но кое-что все-таки есть. Вот, например, моя статья, которая, помимо прочего, демонстрирует преимущество jQuery (да и вообще фреймворков) над чистым JS, в плане работы с DOM и HTTP (AJAX):
codeproject.com/Tips/1065669/How-To-Build-Web-Site...
Читать раздел Simplifying Our JS Via jQuery.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы