- PVSM.RU - https://www.pvsm.ru -
Не так давно мы, создавая динамические веб-приложения, использовали для работы с DOM чистый JavaScript или jQuery. С тех пор появилось много замечательных JavaScript-фреймворков и библиотек. Они помогают разрабатывать проекты, которые, по привлекательности и удобству, превосходят то, что было раньше.
Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о нескольких мощных, но малоизвестных клиентских фреймворках и библиотеках, основанных на JavaScript. Конечно, «большая тройка», в лице Angular [2], React [3] и Vue [4], никуда не делась, но в мире веб-разработки есть и другие инструменты, достойные внимания. Такие, например, как Svelte [5], Preact [6] и Riot [7]. Вопрос выбора подходящего средства зависит от многих факторов. Среди них — знания разработчика, особенности проекта, ситуация на рынке. Поэтому давайте рассмотрим малоизвестные фреймворки, расширив тем самым свободу выбора тех, кто ищет подходящий инструмент для своего очередного проекта.
Фреймворк Svelte — это новый представитель инструментов для фронтенд-разработки, популярность которого в последнее время постоянно растёт. О нём говорят как о примере совершенно нового подхода к созданию пользовательских интерфейсов. В сравнении с Vue или React, которые, делая своё дело, сильно полагаются на возможности браузеров, Svelte работает иначе. Он, на этапе сборки проекта, задействует шаг компиляции, что способствует улучшению производительности основанных на нём проектов.
Svelte нацелен не только на производительность готовых проектов, но и на удобство разработчика. Это достигается за счёт уменьшения потребности в написании больших объёмов шаблонного кода.
Ember.js — Это ещё один отличный клиентский фреймворк, который ускоряет разработку веб-приложений, снимая с разработчика нагрузку по выполнению повторяющихся стандартных действий. Он позволяет программистам работать с современными возможностями JavaScript.
Этот фреймворк имеет замечательный инструмент командной строки, ускоряющий выполнение задач по сборке проектов, по их тестированию, поддерживающий удобную среду разработки с такими возможностями, как автоматическая перезагрузка страниц. В Ember, кроме того, имеется отличный маршрутизатор, идеи которого вдохновили разработчиков других подобных систем, например — маршрутизатора React. Фреймворк весьма производителен благодаря тому, что в нём применяются технологии, ускоряющие рендеринг страниц.
Аддоны Ember дают в распоряжение разработчика множество плагинов, позволяющих расширять возможности приложений. Система Ember Concurrency, например, может быть использована при написании надёжного асинхронного кода. А Simple Auth — это аддон, реализующий множество способов аутентификации. Средство Ember CLI Deploy позволяет реализовывать поддерживаемую логику развёртывания, которую можно использовать многократно.
Библиотека Preact, как можно судить из её названия, весьма похожа на React. Правда, библиотека Preact гораздо меньше, её размер составляет всего 3 Кб. Но эта библиотека даёт разработчику такой же современный API, как у React. Preact предоставляет программисту самую компактную реализацию абстракции виртуальной DOM, стабильные возможности платформы, средства обработки событий. Эту библиотеку, без шага транспиляции, можно напрямую использовать в браузере.
Preact, кроме того, это одна из самых быстрых клиентских библиотек, отличающаяся скромными размерами и высокой производительностью.
Riot — это простая и изящная библиотека для разработки пользовательских интерфейсов, основанная на компонентах. Она позволяет применять пользовательские элементы во всех современных браузерах без необходимости использования полифиллов. Эти компоненты помогают объединять HTML и JavaScript, формируя сущности, подходящие для многократного использования. Синтаксис Riot отличается чистотой и рассчитан на лёгкость восприятия программных конструкций разработчиком.
Размер Riot составляет всего 6 Кб, то есть, речь идёт о весьма компактной библиотеке. Эта библиотека поддерживает меньше методов API, чем её более масштабные товарищи. Это говорит о том, что для продуктивного использования Riot программисту нужно потратить на обучение не особенно много времени.
Aurelia — это современный клиентский JavaScript-фреймворк для разработки веб-приложений, мобильных и настольных проектов. Приложения с использованием Aurelia создают, собирая простые компоненты, созданные на базе чистого JavaScript или TypeScript и соответствующего HTML-кода.
У фреймворка Aurelia имеется отличная документация, его возможности хорошо описаны в учебных руководствах. Всё это помогает тем, кто хочет разобраться с этим фреймворком, быстро его освоить. В состав Aurelia входят мощный реактивный движок для реализации привязок, система шаблонизации, маршрутизатор, плагины. Aurelia поддерживает серверный рендеринг и другие современные возможности.
Mithril.js — это современный клиентский JS-фреймворк, предназначенный для разработки одностраничных веб-приложений. Он отличается малыми размерами (9.79 Кб), поддерживает маршрутизацию и XHR.
Им пользуются такие компании как Nike и Vimeo. Среди поддерживаемых им технологий — JSX, ES6+, анимация, тестирование.
К этому фреймворку подготовлена хорошая документация, помогающая начинающим быстро в нём разобраться. Там можно найти примеры, на которых удобно осваивать возможности Mithril. Правда, надо отметить, что на мой взгляд этот фреймворк, в плане документации, отстаёт от других инструментов, которые мы тут рассмотрели.
Надеюсь, этот материал хорошо иллюстрирует тот факт, что жизнь есть и за пределами Angular, Vue и React. Некоторые проекты требуют подходов и инструментов, отличающихся от тех, которые у всех на слуху. Выбор подходящего инструмента сильно зависит от особенностей проекта, который планируется создавать с его помощью.
В итоге хочу сказать, что если вы выберете для своего проекта один из фреймворков, входящих в «большую тройку», то вы, совершенно точно, не ошибётесь. Angular отлично подходит для разработки крупномасштабных проектов. Angular-фронтенды часто используют совместно с Java-бэкендами. React и Vue — тоже хорошие варианты. Хочу дать совет: не становитесь фанатами какого-либо фреймворка или какой-то библиотеки. Выбирая инструмент, просто попытайтесь подойти к процессу выбора непредвзято и найти то, что соответствует нуждам вашего проекта.
Уважаемые читатели! Пользуетесь ли вы какими-нибудь фреймворками или библиотеками, которые не входят в «большую тройку»?
Автор: ru_vds
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/349453
Ссылки в тексте:
[1] Image: https://habr.com/ru/company/ruvds/blog/491708/
[2] Angular: https://angular.io/
[3] React: https://reactjs.org/
[4] Vue: https://vuejs.org/
[5] Svelte: https://svelte.dev/
[6] Preact: https://preactjs.com/
[7] Riot: https://riot.js.org/
[8] Image: https://ruvds.com/ru-rub/#order
[9] Источник: https://habr.com/ru/post/491708/?utm_source=habrahabr&utm_medium=rss&utm_campaign=491708
Нажмите здесь для печати.