Мир FrontEnd меняется каждое мгновение и с ускоренной скоростью. Улучшения, связанные с производительностью, удобством использования или удобочитаемостью, постоянно развиваются в этих проектах. Очень интересная и полезная эволюция, когда мы анализируем контекст фреймворков и библиотек FrontEnd.
С другой стороны, нет ни одного исследования, которое углубилось бы во всю эту технологическую эволюцию. Когда я пишу и/или готовлюсь к лекциям, которые читаю по технологиям FrontEnd, мне не хватает исследований, сроков и исследований, которые могут помочь или даже проиллюстрировать решения и решения, принятые создателями этих проектов.
Имея это в виду, я разработал проект FrontEnd Chronology. И нет ничего лучше для этого проекта, чем использование чистого javascript. Загляните в репозиторий и внесите свой вклад. Ниже приведен хронологический список этих фреймворков.
Хронология
2005
- Dojo: набор инструментов JavaScript, который экономит ваше время и масштабируется вместе с процессом разработки. Предоставляет все необходимое для создания веб-приложения. Языковые утилиты, компоненты пользовательского интерфейса и многое другое — все в одном месте, созданном для идеальной совместной работы.
2006
- Jquery: это быстрая, небольшая и многофункциональная библиотека JavaScript. Он значительно упрощает такие вещи, как обход и манипулирование документами HTML, обработку событий, анимацию и Ajax, с помощью простого в использовании API, который работает во множестве браузеров.
2010
- Angularjs: это интерфейсная веб-инфраструктура на основе JavaScript, в основном поддерживаемая Google и сообществом отдельных лиц и корпораций. Он призван упростить как разработку, так и тестирование таких приложений, предоставляя основу для клиентских архитектур MVC и MVVM.
- Магистраль: обеспечивает структуру веб-приложений, предоставляя модели с привязкой ключ-значение и настраиваемые события, коллекции с богатым API перечислимых функций, представления с декларативной обработкой событий и соединяет все это с вашим существующим API через интерфейс RESTful JSON.
- Knockout: это отдельная реализация JavaScript шаблона Model-View-ViewModel с шаблонами.
2011
- Can.js: это развивающийся и совершенствующийся набор клиентских архитектурных библиотек JavaScript, в котором сочетаются инновации и стабильность. Он предназначен для опытных разработчиков, создающих сложные приложения с большим будущим.
- Ember: веб-фреймворк JavaScript с открытым исходным кодом, основанный на шаблоне MVVM. Это позволяет разработчикам создавать масштабируемые одностраничные веб-приложения, включая в структуру общие идиомы и лучшие практики.
- Enyo. В основе Enyo лежит простая, но мощная модель инкапсуляции, которая помогает разложить функциональность приложения на автономные стандартные блоки, которые легко использовать и поддерживать. Каждая часть приложения Enyo является Компонентом, а Компоненты состоят из других Компонентов.
2012
- Bacon.js: небольшая библиотека функционального реактивного программирования для JavaScript. Превращает спагетти вашего мероприятия в чистый и декларативный бекон фэн-шуй, переключаясь с императивного на функциональный. Это похоже на замену вложенных циклов for концепциями функционального программирования, такими как карта и фильтр.
- Elm: Elm — это предметно-ориентированный язык программирования для декларативного создания графических пользовательских интерфейсов на основе веб-браузера. Elm является чисто функциональным и разработан с упором на удобство использования, производительность и надежность. На практике он не объявляет об исключениях во время выполнения, что стало возможным благодаря статической проверке типов компилятора Elm.
- Meteor: бесплатная изоморфная веб-инфраструктура JavaScript с открытым исходным кодом, написанная с использованием Node.js. Meteor позволяет быстро создавать прототипы и создавать кроссплатформенный (Android, iOS, Web) код.
2013
- Mithril: современная клиентская среда JavaScript для создания одностраничных приложений. Он небольшой (‹ 10kb gzip), быстрый и предоставляет утилиты маршрутизации и XHR из коробки. Mithril используется такими компаниями, как Vimeo и Nike, а также платформами с открытым исходным кодом, такими как Lichess.
- React. React упрощает создание интерактивных интерфейсов. Создавайте простые представления для каждого состояния в вашем приложении, и React будет эффективно обновлять и отображать только нужные компоненты при изменении ваших данных.
2014
- DoneJS: это среда JavaScript с открытым исходным кодом, которая позволяет легко создавать высокопроизводительные веб-приложения и мобильные приложения, работающие в режиме реального времени. DoneJS используется для создания красивых пользовательских интерфейсов в реальном времени, которые можно экспортировать для работы на любой платформе.
- Riot: веб-компоненты для всех. Представьте себе React + Polymer, но без наворотов. Его API в значительной степени вдохновлен Vue.js, но вместо этого содержит только самый минимум для создания современного внешнего интерфейса. Он интуитивно понятен в использовании и почти ничего не весит.
- Vue.js: это платформа JavaScript с открытым исходным кодом Модель-представление-представление для создания пользовательских интерфейсов и одностраничных приложений. Он был создан Эваном Ю и поддерживается им и остальными активными членами основной команды.
2015
- Polymer: это библиотека JavaScript с открытым исходным кодом для создания веб-приложений с использованием веб-компонентов. Библиотека разрабатывается разработчиками и участниками Google на GitHub. Принципы современного дизайна реализованы в виде отдельного проекта с использованием принципов дизайна Google Material Design.
- Preact: это попытка воссоздать основное ценностное предложение React (или подобных библиотек, таких как Mithril), используя как можно меньше кода, с первоклассной поддержкой ES2015. В настоящее время библиотека составляет около 3 КБ (минифицированная и сжатая gzip).
2016
- Angular: это платформа веб-приложений с открытым исходным кодом на основе TypeScript, созданная командой Angular в Google и сообществом отдельных лиц и корпораций. Angular полностью переписан той же командой, которая создала AngularJS.
- Aurelia: это набор модулей современного JavaScript, которые при совместном использовании функционируют как мощная платформа для создания браузерных, настольных и мобильных приложений с открытым исходным кодом и основанных на открытых веб-стандартах.
- InfernoJs: невероятно быстрая библиотека, похожая на React, для создания высокопроизводительных пользовательских интерфейсов как на клиенте, так и на сервере.
- Svelte: радикально новый подход к созданию пользовательских интерфейсов. В то время как традиционные фреймворки, такие как React и Vue, выполняют большую часть своей работы в браузере, Svelte переносит эту работу на этап компиляции, который происходит при создании приложения.
2017
- Stencil: набор инструментов для создания многоразовых масштабируемых систем проектирования. Создавайте небольшие, молниеносно быстрые и полностью основанные на стандартах веб-компоненты, которые работают в любом браузере.