Сверхкраткая история фреймворков JavaScript

Перевод статьи Адама Баркера «The Super-Brief History of JavaScript Frameworks For Those Somewhat Interested»

jQuery технические не был первым фреймворком JavaScript
Иллюстрация: dev.to

Фреймворки JavaScript прошли долгий путь и каждый новый разработчик сталкивается не только с изучением языка, но и с выбором первого для себя фреймворка.

Существующий на сегодня выбор является результатом невероятных инноваций, произошедших за относительно короткий промежуток времени. Не далее как в 2004 году Google выпустил Gmail, который считают первым продуктом всё-в-браузере; сегодня такие продукты называют одностраничными приложениями.

Если вы начинаете изучение JavaScript, вы удачно выбрали время, ведь такой большой выбор и гибкость, позволяющие создавать в браузере что-то интересное, существовали не всегда.

Динамический HTML

В ранних 2000-х JavaScript переживал период становления и использовался главным образом для осуществления основных изменений на странице. Самое яркое, что можно было делать, это эффекты при наведении мыши, выпадающие меню и прокручивание текста. Такие вещи сегодняшние разработчики, вооруженные мощью CSS, воспринимают как должное.

Но тогда Internet Explorer доминировал среди браузеров (странно, верно?) и начиная с 1999 года он включил в себя враппер библиотеки, разработанной Microsoft для собственного продукта электронной почты Outlook. Прекрасный объект с пугающим названием XMLHttpRequest в конечном итоге стал стандартом для браузеров; он стал точкой перехода к тому, как мы сегодня воспринимаем большую часть Интернета.

Строго говоря, этот XMLHttpRequest позволял отсылать запросы на сервер и обрабатывать ответы без необходимости рефрешить браузер. До того времени такие вещи как клик по вкладке или отправка формы означали, что сервер обработает запрос и решит, как отобразить ответ, а браузер обновит страницу и в конечном итоге покажет результат.

Разработчики совершили прыжок в плане функционала и увидели потенциал для создания настоящей замены десктопных приложений в Интернете. Асинхронный Javascript с XML, сокращенно AJAX, был сформулирован так, чтобы описать эту новообретенную способность.

JQuery

Технически jQuery не была первым фреймворком JavaScript, но после выпуска в 2006 году ее популярность стремительно пошла вверх. JQuery была призвана решить много проблем с незначительными различиями между браузерами. Она собрала много функционала, нужного разработчикам, в понятный и легкий для изучения фреймворк.

Имея потенциал для создания приложений, использующих возможности Интернета, разработчики разрабатывали все более и более крупные решения, испытывающие работоспособность jQuery. Такие продукты как Gmail показали, чего можно достичь, но стало ясно, что могут понадобиться более удобные для предприятий инструменты.

Backbone и AngularJS

В 2010 году Джереми Ашкеназ выпустил Backbone, первый фреймворк, нацеленный на создание одностраничных приложений. Джереми увидел, насколько огромным и беспорядочным может стать приложение на jQuery. Ему нужен был более чистый способ исправления тысяч селекторов и переплетенных обработчиков событий. Любопытно, что для Backbone не нужна была jQuery, это был независимый фреймворк, однако часть функционала была доступна только при наличии jQuery.

Примерно в то же время Адам Абронс и Мишко Хевери создали AngularJS, который вскоре попал под опеку Google (когда Хевери получил место в этой компании). Angular был первым фреймворком, предоставлявшим полную архитектуру для фронтен-разработки приложения.

Одними из основных особенностей AngularJS были двусторонняя привязка данных, предоставление способа привязки модели данных к HTML-разметке и обновление изменений в режиме реального времени. Разработчики назвали это «автомагией». Angular также поддерживал dependency injection и возможность создавать компоненты, пригодные для повторного использования.

Knockout, Meteor, React

Knockout это еще один фреймворк, обеспечивающий решение для двунаправленной привязки данных, хотя он предоставляет лишь часть функционала AngularJS. Meteor также имел значительное количество последователей, но в 2013 году Facebook выпустил свой фреймворк React, который до сих пор пользуется огромной популярностью.

Для многих новых разработчиков React был первым фреймворком, о котором они узнали, что и определило их выбор. И хотя у React относительно крутая кривая обучения, он имеет прекрасную документацию и огромное сообщество.

То, как фреймворки пытались решать проблемы своих предшественников, очень интересно для разработчика. Я думаю, что Angular (особенно последние его версии) имеет много общего с React, а оба они, в свою очередь, разделяют цели Vue, нового «ребенка» в этой «песочнице».

Важным аспектом становится способность этих фреймворков поддерживать мобильные цели. Ionic и React Native доказали, что они являются заслуживающими внимания игроками, поскольку команды стараются сделать JavaScript стандартным языком для всего: бэкенда (с NodeJS), десктопных и мобильных браузеров, а также для целевых устройств (с помощью дополнительных фреймворков).

В общем, JavaScript это отличный язык для изучения, а с этими фреймворками для него нет практически ничего невозможного на любом устройстве. С каждым новым выпуском фреймворка становится все больше доводов в пользу изучения именно этого языка, а потому сейчас самое время погрузиться в него и начать строить свое первое приложение.


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх