Статья подготовлена для студентов курса «Разработчик JavaScript» в образовательном проекте OTUS.
React-разработчики очень привязаны к своей библиотеке. Но ведь React обещал свободу от фреймворков, свободу выбора библиотек для запросов и управления состоянием. Возможно, вашему приложению не так уж нужен именно React? Вот три интересных view-библиотеки, построенных на vDOM.
Preact
Preact — библиотека с API React, которая весит всего 3 килобайта (сам React — 40). Компоненты с npm, сделанные для React, подключаются через webpack-трюк и работают нормально. В Preact нет самых горячих новинок: фрагментов, порталов, асинхронного рендеринга. Если вы пишете UI для встроенных систем и размер критичен — попробуйте Preact.
Inferno
Inferno — чертовски быстрый аналог React. Если в вашем приложении есть частые огромные обновления страницы (например, визуализация), попробуйте ускорить его, переписав компоненты на Inferno.
Snabbdom
Snabbdom — отдельная реализация virtual DOM. Никаких компонент или управления состоянием: только быстрые обновления DOM. Если у вас есть идея для своего фронтенд-фреймворка, не обязательно писать эту часть самому.
var container = document.getElementById('container');
var vnode = h('div#container.two.classes', {on: {click: someFn}}, [
h('span', {style: {fontWeight: 'bold'}}, 'This is bold'),
' and this is just normal text',
h('a', {props: {href: '/foo'}}, 'I\'ll take you places!')
]);
// Patch into empty DOM element – this modifies the DOM as a side effect
patch(container, vnode);
Итог
Теперь вы знаете три отличных альтернативы React. В следующем проекте подумайте: важны ли вам маленький размер и быстрые обновления? Если да, возможно, пора попробовать что-то новое.
Есть вопрос? Напишите в комментариях!
Материал подготовлен для студентов курса «Разработчик JavaScript» в образовательном проекте OTUS. Чтобы присоединиться к ближайшей группе, обязательно пройдите вступительное тестирование:
ПРОЙТИ ТЕСТИРОВАНИЕ