Фреймворки/библиотеки

Angular – полная платформа с лучшими практиками, разработанными на ее основе. Это чем-то похоже на Ruby on Rails с базой MVC. Проблемы с Angular включают кривую обучения, и он вносит изменения в фактический DOM (а не в виртуальный DOM), что значительно замедляет его работу. Это по-прежнему второй по популярности после React.

React —небольшая библиотека представлений, в отличие от Angularframework. Это самый популярный из списка и, как известно, намного быстрее, чем Angular. Минус этой библиотеки в том, что иногда она может показаться чистым холстом. Он не был популярен все это время, и, поскольку это библиотека, вам нужно полагаться на сообщество, чтобы помочь с соглашениями и лучшими практиками.

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

Backbone — облегченная структура MVP. Единственная зависимость — Underscore.js. Известно, что Backbone НАМНОГО быстрее, чем Angular. Падение Backbone во многом было связано с окружающим его сообществом. В то время как у Angular и React были деньги на основную команду разработчиков и маркетинг, Backbone был написан и поддерживался Джереми Ашкенасом. Стремясь сделать Backbone стабильной JS-платформой (НЕВОЗМОЖНО!), Джереми объявил, что Backbone был закончен с точки зрения API и набора функций после выпуска 1.0.

Компиляторы/исполнители задач

Grunt (Task Runner). Первым в этом списке появился Grunt. Это средство запуска задач Node.js, которое использует подключаемые модули, управляемые (изначально) файлом конфигурации JSON. Grunt был чрезвычайно успешным, но возник ряд проблем. Проблема, которая всплывала в каждой статье, заключалась в отсутствии гибкости по мере того, как задачи становились больше или сложнее.

Gulp (Task Runner) — второй популярный набор инструментов для определения и запуска задач. Основное отличие Gulp в том, что Grunt использует объекты конфигурации для декларативного определения задач, Gulp определяет их как функции JavaScript. Это также быстрее, с меньшим количеством кода, что в целом приводит к тому, что многие разработчики переходят с Grunt.

Webpack (компилятор). Многие разработчики, особенно разработчики React, используют Webpack в качестве своего компилятора и не используют ни один из вышеперечисленных средств запуска задач. Webpack был создан, чтобы объединить все наши файлы JavaScript в один пакет. Это не только повышает производительность, но и проще в использовании, чем загрузка файлов в нашем HTML. Объединение Gulp и Webpack является обычной практикой в ​​зависимости от проектов.

Browserify (компилятор) — этот компилятор обычно используется с Gulp и некоторое время был королем замка. Его популярность значительно упала, поскольку популярность Webpack резко возросла. Его падение — простота. Вы загнаны в угол и нуждаетесь в инструменте автоматизации, таком как Gulp, который требует времени на настройку.

Babel (компилятор). Преобразует код из нескольких последних выпусков и даже невыпущенные функции во что-то, что браузеры могут прочитать. Он состоит из небольших модульных подключаемых модулей, которые достигают разных целей, таких как «Groundkeeper-willie» (удаляет вызовы отладчика и консоли) и «React Optimize» (предустановка Babel для оптимизации кода React). Список потрясающих плагинов Babel на github сократился до 50!

Ресурсы

https://da-14.com/blog/gulp-vs-grunt-vs-webpack-comparison-build-tools-task-runners