Быстрая UI-библиотека размером около 4 КБ, совместимая с React и предлагающая тот же современный API компонентов на основе Virtual DOM.
infernojs/inferno
Очень быстрая JavaScript-библиотека в духе React для создания высокопроизводительных интерфейсов на клиенте и сервере.
- Звёзды
- 16,452
- Форки
- 642
- Открытые issues
- 36
- Последний коммит
- вчера
Что это?
Inferno — JavaScript-библиотека в духе React для создания пользовательских интерфейсов. Она сохраняет компонентную модель React, однонаправленный поток данных и концепции жизненного цикла, уделяя особое внимание скорости рендеринга во время выполнения — особенно для представлений с данными в реальном времени и больших DOM-деревьев.
Высокая скорость достигается за счёт оптимизаций на этапе компиляции. JSX-плагины Inferno для Babel, SWC и TypeScript генерируют прямые вызовы для создания vNode вместо вызовов createElement, а флаги дочерних элементов, например $HasVNodeChildren, позволяют разработчикам заранее указать их структуру, чтобы среда выполнения могла пропустить нормализацию. Библиотека также предлагает linkEvent, который позволяет не использовать стрелочные функции и вызовы bind в обработчиках событий, и поддерживает серверный рендеринг через inferno-server.
Inferno отличается от React в нескольких аспектах: в нём реализована частичная система синтетических событий, хуки жизненного цикла для функциональных компонентов и контролируемые компоненты форм. React Native не поддерживается. JSX необязателен: также доступны hyperscript и createElement.
Ключевые возможности
- 01Похожий на React API компонентов с однонаправленным потоком данных и знакомыми методами жизненного цикла
- 02События жизненного цикла для функциональных компонентов, которых нет в React
- 03Частичная система синтетических событий и помощник linkEvent, позволяющий обходиться без bind и замыканий
- 04Рендеринг на клиенте и сервере через inferno-server и hydrate
- 05Контролируемые компоненты input, select и textarea
- 06JSX-плагины для Babel, SWC и TypeScript с оптимизациями на этапе компиляции
Сценарии использования
- Создание дашбордов и представлений с данными в реальном времени, которые часто обновляются
- Рендеринг очень больших DOM-деревьев, где важна производительность во время выполнения
- Перенос небольшого фронтенда в стиле React на более лёгкую среду выполнения
- Веб-приложения с серверным рендерингом, которым нужна гидратация на клиенте
Быстрый старт
- 1
Установите основной пакет
npm install --save inferno - 2
Установите плагин компилятора JSX для Babel
npm install --save-dev babel-plugin-inferno - 3
Отрисуйте компонент в DOM-элементе с помощью функции render
Что важно знать
- Inferno не поддерживает React Native.
- Inferno не поддерживает устаревшие строковые refs, поэтому код, который от них зависит, необходимо изменить.
- Для оптимизаций JSX в Inferno на этапе компиляции требуется соответствующая версия плагина компилятора Inferno.
Темы
Частые вопросы
- Что такое inferno?
- Очень быстрая JavaScript-библиотека в духе React для создания высокопроизводительных интерфейсов на клиенте и сервере. Inferno — JavaScript-библиотека в духе React для создания пользовательских интерфейсов. Она сохраняет компонентную модель React, однонаправленный поток данных и концепции жизненного цикла, уделяя особое внимание скорости рендеринга во время выполнения — особенно для представлений с данными в реальном времени и больших DOM-деревьев.
- inferno можно использовать бесплатно? Какая у него лицензия?
- inferno распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- inferno всё ещё поддерживается?
- Активно поддерживается. Последний коммит в inferno — 23 окт. 2026 г..
- Для чего можно использовать inferno?
- Создание дашбордов и представлений с данными в реальном времени, которые часто обновляются Рендеринг очень больших DOM-деревьев, где важна производительность во время выполнения Перенос небольшого фронтенда в стиле React на более лёгкую среду выполнения Веб-приложения с серверным рендерингом, которым нужна гидратация на клиенте
- Как установить inferno?
- Установите основной пакет: npm install --save inferno Установите плагин компилятора JSX для Babel: npm install --save-dev babel-plugin-inferno Отрисуйте компонент в DOM-элементе с помощью функции render
- Где скачать inferno?
- Исходный код и инструкции по установке — на GitHub: https://github.com/infernojs/inferno
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Декларативная JavaScript-библиотека для UI: компилирует JSX в обновления реального DOM и использует тонкозернистую реактивность вместо Virtual DOM.
Omi — фреймворк для Web Components с JSX, реактивностью на основе сигналов, роутером и поддержкой Tailwind для создания переиспользуемых пользовательских элементов.
Angular-привязки для Firebase JS SDK: внедрение зависимостей, RxJS-обсерваблы и удобные для Angular API Firebase-сервисов.
Корпоративная библиотека UI-компонентов для React и язык дизайна для создания веб-приложений.
Библиотека UI-компонентов Material Design для Vue с готовыми адаптивными компонентами для создания веб-приложений.