- PVSM.RU - https://www.pvsm.ru -

ТОП 10 JavaScript фреймворков и библиотек

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

Перейдем к списку.

Angular.JS

image

AngularJS является популярным фреймворком, который широко используется для создания и поддержания сложных веб-приложений. Популярность AngularJS огромна и компании, использующие его, столь же разнообразны: Domino’s Pizza, Ryanair, ITunes Connect, PayPal, Google Checkout. AngularJS имеет открытый исходный код при поддержке Google. AngularJS позиционируется как расширение HTML для создания сложных веб-приложений.

Angular — MVC-фреймворк. Он имеет двусторонний дата-биндинг между моделями и представлениями (view). Эта привязка данных позволяет проводить автоматическое обновление с обеих сторон всякий раз, когда происходит изменение данных. Это позволяет создавать многократно используемые компоненты представления, что обеспечивает легкий обмен данными между серверной и клиентской частью. И, в конце концов, это просто JavaScript. Используйте AngularJS при построении сложного веб-приложения, когда есть нужда в едином модульном фреймворке, который справится со всем.

GitHub [1]
Офсайт [2]
Материалы [3]

React.JS

image

ReactJS является топовым JavaScript проектом этого года! ReactJS имеет открытый исходный код и развивается в основном с помощью Facebook при участии других крупных технологических компаний. React описывает себя как JavaScript библиотека для создания пользовательских интерфейсов.

В известном паттерне Model-View-Controller React ближе всего к пользователю. Он отвечает за представление данных, получение и обработку ввода пользователя. Где и в каком виде вы храните данные, как вы общаетесь с хранилищем, дело ваше. React — это всего лишь View вашего приложения. React построен на парадигме реактивного программирования. Этот декларативный подход предлагает описывать данные в виде набора утверждений или формул. Изменение одного из параметров ведёт за собой автоматический пересчёт всех зависимостей. ReactJS — это отличный GOTO-фреймворк для создания простых веб-приложений.

GitHub [4]
Офсайт [5]
Материалы [6]

Backbone.js

image

Backbone — это простой фреймворк, который вписывается в один JavaScript файл. Backbone был разработан Джереми Ашкенасом с помощью CoffeeScript. Backbone особенно популярен среди команд, которые ищут простую структуру для небольших веб-приложений, без применения больших фремворков как Angular или Ember.

Backbone основан на шаблоне проектирования Model-View-Presenter. Модели позволяют связать ключ-значение и события для обработки изменения данных. Поддерживает RESTful JSON интерфейс. Backbone включает в себя все, что вам нужно для построения одностраничных приложений без лишней сложности. Backbone лучше всего использовать при построении простых одностраничных приложений.

GitHub [7]
Офсайт [8]
Материалы [9]

Ember

image

В этом достаточно популярном фреймворке упор делается на повышение производительности программиста. Одним из ключевых разработчиков Ember является Йехуда Кац (Yehuda Katz), принимавший активнейшее участие в создании Ruby on Rails и jQuery. Ember позиционируется как «фреймворк для создания амбициозных веб-приложений», который не будет попусту тратить ваше время. Он ведёт себя очень своевольно и многие вещи решает самостоятельно, ставя разработчика перед фактом.

Ember тоже относится к MVC-фреймворкам. В нём используется шаблонизация и встроенный view engine, который автоматически обновляет данные так же, как и Angular, Backbone и React. Ember поддерживает технологию веб-компонентов, позволяющую расширять HTML с помощью собственных тэгов (как и Angular). Также во фреймворк встроен движок маршрутизации и модели, умеющие работать с вашим RESTful API.

Используйте Ember если вам нужен фреймворк, который просто работает. Также Ember будет полезен тем, кто не нуждается в гибкости из-за ограниченного бюджета или жёсткого дедлайна.

GitHub [10]
Офсайт [11]
Материалы [12]

Meteor

image

Meteor проделал долгий путь от простой идеи до полнофункционального и хорошо финансируемого проекта, ставшего смыслом жизни для тысяч разработчиков-энтузиастов. Он во многом совершил революцию в сфере разработки мобильных и веб-приложений реального времени, созданных с помощью особенного интерфейса разработки. Любое веб-приложение на Meteor полностью совместимо с мобильными устройствами — вы даже можете преобразовать существующее веб-приложение в мобильное и опубликовать его в магазине мобильных приложений.

С появлением Galaxy, облачного хостинга [13] специально для Meteor-приложений, Meteor сделал фронтэнд и бекэнд неразрывными компонентами, для работы с которыми не нужен огромный опыт. Meteor — full-stack фреймворк, который поможет вам на одном JS создать современное, хорошо масштабируемое приложение для веба и мобильных устройств. Публичный репозиторий Atmosphere хранит тысячи пакетов, которые помогут вам создавать такие приложения буквально на лету.

GitHub [14]
Офсайт [15]
Материалы [16]

Express.js

image

Express — один из самых развитых фреймворков для Node.js на данный момент. Он во многом основан на Sinatra, веб-фреймворке для Ruby. Большая часть функционала Express содержится в плагинах. Views поддерживает рендеринг страниц и отдельных элементов, а также использование разных шаблонизаторов. Общее впечатление от фреймворка — очень хорошее. Логичная и простая структура, неплохо документированные возможности, расширяемость — очень хороший задел на будущее.

GitHub [17]
Офсайт [18]
Материалы [19]

Knockout.js

image

Knockout – это JavaScript библиотека, которая позволяет создавать сложные пользовательские интерфейсы и при этом оставляет код «чистым», расширяемым и хорошо читабельным. Основная задача, которую выполняет эта чудо-коробка – это автоматическое обновление пользовательского интерфейса при обновлении свойства в JavaScript модели.

Библиотеку knockout.js, весом 29Kb, можно совмещать с любой существующей библиотекой, но лучше всего она работает с jQuery, и в качестве системы шаблонов использует jQuery.tmpl. Для тех, кто хочет оживить интерфейс, сделать его динамичным, включить возможность сортировки данных и многое другое.

GitHub [20]
Офсайт [21]
Материалы [22]

D3.js

image

Одним из стандартных требований для веб-приложений является визуализация данных и построение графиков. И в этой сфере стандартом де-факто является D3.js. Это один из самых популярных проектов на Github, он используется во множестве компаний. D3 лежит в основе кучи библиотек для построения диаграмм, графиков и прочих видов визуализации.

D3 позволяет брать данные из любых источников и преобразовать в DOM/SVG/CSS. Проект поддерживает современные веб-стандарты, поэтому не беспокойтесь о возможности столкнуться с какими-то проприетарными форматами наподобие Flash или Silverlight.

GitHub [23]
Офсайт [24]
Материалы [25]

Polymer

image

Polymer — это проект Google, который не просто облегчает вам использование Material Design. Этот очаровательный фреймворк — воплощение скорости и удобства в работе над веб-дизайном, позволяющий создавать и повторно использовать веб-компоненты. Проект много времени провел в стадии бета-теста, но сразу после выхода его популярность начала расти подобно снежному кому.

Пока кто-то пытается понять, в чем же разница между Polymer и Angular (они и правда очень схожи, особенно в плане синтаксиса и особенностей организации), мы скажем точно: Polymer — новый этап разработки, который осуществляет переход к разработке на основе современных веб-компонентов.

GitHub [26]
Офсайт [27]

Underscore и lodash

Иногда стандартные возможности JavaScript не позволяют нам работать с полной отдачей. Всегда не хватает какой-нибудь вспомогательной функции, или функции, позволившей бы упростить код. Underscore и lodash — это JS-библиотеки, предлагающие свыше 100 вспомогательных функций и прочих «вкусностей» без необходимости делать monkey patching для встроенных JS-объектов. В частности, вам будут доступны такие вещи, как map, filter, invoke, reduce, template, throttle, bind, extend, pick, clone и многое другое. Используйте Underscore: если вам нужен один единственный JS-файл, который немедленно облегчит вашу жизнь как программиста. lodash: если вам нужна модульная и чуть более быстрая версия Underscore, с улучшенной поддержкой AMD и плагинов, созданных сообществом.

GitHub [28]
Офсайт [29]

GitHub [30]
Офсайт [31]

Источники: www.sitepoint.com [32], www.colorlib.com [33]

Автор: Arturo01

Источник [34]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/154715

Ссылки в тексте:

[1] GitHub: https://github.com/angular/angular.js

[2] Офсайт: http://www.angularjs.org/

[3] Материалы: https://www.livecoding.tv/categories/angular-js/

[4] GitHub: https://github.com/facebook/react

[5] Офсайт: http://www.facebook.github.io/react/

[6] Материалы: https://www.livecoding.tv/categories/react-js/

[7] GitHub: https://github.com/jashkenas/backbone/

[8] Офсайт: http://www.backbonejs.org/

[9] Материалы: https://www.livecoding.tv/categories/backbone-js/

[10] GitHub: https://github.com/emberjs/ember.js

[11] Офсайт: http://www.emberjs.com/

[12] Материалы: https://www.livecoding.tv/categories/ember-js/

[13] хостинга: https://www.reg.ru/?rlink=reflink-717

[14] GitHub: https://github.com/meteor/meteor

[15] Офсайт: https://www.meteor.com/

[16] Материалы: https://www.livecoding.tv/categories/meteor-js/

[17] GitHub: https://github.com/expressjs/express

[18] Офсайт: https://kuroikaze85.wordpress.com/2010/03/31/express-nodejs-framework/

[19] Материалы: https://www.livecoding.tv/categories/express-js/

[20] GitHub: https://github.com/knockout/knockout

[21] Офсайт: http://knockoutjs.com/

[22] Материалы: https://www.livecoding.tv/categories/knockout-js/

[23] GitHub: https://github.com/mbostock/d3

[24] Офсайт: http://www.d3js.org/

[25] Материалы: https://www.livecoding.tv/categories/d3-js/

[26] GitHub: https://github.com/Polymer/polymer

[27] Офсайт: https://www.polymer-project.org/1.0/

[28] GitHub: https://github.com/jashkenas/underscore

[29] Офсайт: http://www.underscorejs.org/

[30] GitHub: https://github.com/lodash/lodash

[31] Офсайт: http://www.lodash.com/

[32] www.sitepoint.com: http://www.sitepoint.com

[33] www.colorlib.com: http://www.colorlib.com

[34] Источник: https://habrahabr.ru/post/305442/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox