Какой Javascript framework выбрать для новичка?

Javascript, jComponent 03 октября 2019 1 мин. 1856


Сейчас существует достаточно много Javascript web фреймворков, это React.js, Vue.js, Angular.js, Backbone.js. У всех них одинаковые задачи, сделать разработку легче, ускорить процесс разработки и освободить нас от написания однотипного кода. Но на деле не всегда, так выходит. Поэтому прежде тем как приступить к проекту, нужно тщательно подойти к выбору фреймворка.

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


React.js

React.js

Серьезный и мощный фреймворк, создан компании FaceBook. Если сравнивать с автомобилями, это такой болид формулы F-1. И не потому, что такой быстрый, а потому что, чтобы он летал по трассе, нужна команда профессионалов, кто мог бы ремонтировать, диагностировать его. Поэтому нужны хорошие знание, как самого javascript, так и средств по сборке, оптимизации и отладке. Если у вас команда хотя бы из 3-4 фронт разработчиков и крупный проект, Ваша команда более-менее знакома с React.js или у Вас есть или время или наработки, то смело можете использовать его. Слишком много, но неправда ли???


Angular.js

Angular.js

Также один из Top фреймворков, который также поддерживается крупной компанией в лице Google, но не нужно думать, что они используют его повсеместно, я так понял в основном для внутренних проектов. Также лично меня заставляет задуматься, тот факт, что он уже не первый раз переписывается с нуля, то есть архитектура и сам фреймворк развиваются не поэтапно, а стихийно. Для меня Angular.js это такая машина, сел, быстро научился водить и вроде даже едет, ну вот если, что пошло вдруг не так, то ты даже капот не найдёшь, чтобы залезть разобраться, найти причину, а тем более починить. Я не люблю Angular.js. А если Вы его выбрали или это сделала Ваша команда, то придётся, как-то смириться и катиться в этой машинке.


Backbone.js

Backbone.js

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


Vue.js

Vue.js

Vue.js это один из популярных фреймворков. Он классный. С ним очень просто начать работать, даже если вы никогда не работали с JavaScript фреймворками. Это идеальное сочетание удобства и мощности. Я его также использовал в некоторых проектах. Но увы...так уж получилось, что я для себя нашел, чуть лучше решение.


jComponent

jComponent

Это мой выбор. Про эту библиотеку мало кто знает. Но считаю, что новички, так и профессионалы могут её повсеместно использовать в своих проектах. Библиотека была создана одним брутальным программистом из Словакии Питером Ширка в 2014 году.

Почему имя jComponent?

Название библиотеки jComponent это комбинация слов jQuery + Component = jComponent. Название не очень удачное так как в поисковике если искать по фразе jcomponent, находится, что-то из Java поэтому я думаю, что jComponent не так популярен.

Теперь Ваш вопрос: почему используется jQuery, когда это анти-паттерн? Ответ прост: анти-паттерны просто работают. В jQuery жестко разрешена обратная совместимость, события, анимация, тысячи плагинов и приложения с jComponent по-прежнему могут работать в IE9. Именно поэтому используется jQuery.

Что предлагает библиотека?

С jComponent вам не нужны никакие зависимости (только в исключительных случаях). Вся библиотека имеет размер 84 кБ (minified + gzip) с библиотекой jQuery.

  • Создание повторно используемых компонентов
  • Двусторонняя привязка данных (Data Binding) с возможностью добавления большего количества наблюдателей за разными переменными
  • Кэширование
  • Куки
  • Поддержка версий компонентов
  • Простая разработка без дополнительных инструментов (просто блокнот)
  • HTML5 History API (маршрутизация на стороне клиента)
  • Шаблонный движок, быстрый и простой
  • Дополнительные функции (хелперы) для работы с массивами (Array), датами (Date), числами (Number), строками (String), форматирование
  • AJAX операции
  • Валидация данных при вводе
  • Частично поддерживает VDOM
  • Локализации UI (работает в связке с Total.js)
  • Готовые компоненты (около 170 компонент)

Ссылки:


На страницах своего блога я буду публиковать статьи и инструкции по использованию библиотеки.
Следите за обновлениями.

Категории