Small size and fast updates: почему сразу React? | OTUS
👋 Канал OTUS в Telegram!
Посты от приглашенных гостей из IT-тусовки, полезные статьи, подборки вакансий от партнеров ➞
Подробнее

Курсы

Программирование
Web-разработчик на Python Разработчик Python Разработчик на Spring Framework Разработчик Golang iOS Разработчик. Продвинутый курс v 2.0. PostgreSQL Vue.js разработчик Архитектор программного обеспечения Разработчик C++ MS SQL Server разработчик Android-разработчик. Базовый курс Архитектор высоких нагрузок Backend-разработчик на PHP Алгоритмы для разработчиков Team Lead 2.0 Python-разработчик. Базовый курс VOIP инженер Базы данных ReactJS/React Native-разработчик Cloud Solution Architecture CI/CD Интенсив «Оптимизация в Java»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Small size and fast updates: почему сразу React?

React_Deep_26.2-5020-1946a2.png

React-разработчики очень привязаны к своей библиотеке. Но ведь React обещал свободу от фреймворков, свободу выбора библиотек для запросов и управления состоянием. Возможно, вашему приложению не так уж нужен именно React? Вот три интересных view-библиотеки, построенных на vDOM.

Preact

Preact — библиотека с API React, которая весит всего 3 килобайта (сам React — 40). Компоненты с npm, сделанные для React, подключаются через webpack-трюк и работают нормально. В Preact нет самых горячих новинок: фрагментов, порталов, асинхронного рендеринга. Если вы пишете UI для встроенных систем и размер критичен — попробуйте Preact.

Inferno

Inferno — чертовски быстрый аналог React. Если в вашем приложении есть частые огромные обновления страницы (например, визуализация), попробуйте ускорить его, переписав компоненты на Inferno. Screen Shot 2018-08-09 at 21.49.24.png

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. В следующем проекте подумайте: важны ли вам маленький размер и быстрые обновления? Если да, возможно, пора попробовать что-то новое.

Есть вопрос? Напишите в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🎁 Дарим сертификаты на скидку!
Запишитесь на июньскую трансляцию интересного вам дня открытых дверей и участвуйте в Акции ➞