Repolode
infernojs

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. 1

    Установите основной пакет

    npm install --save inferno
  2. 2

    Установите плагин компилятора JSX для Babel

    npm install --save-dev babel-plugin-inferno
  3. 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 обновляется ежедневно.

Похожие проекты

Быстрая UI-библиотека размером около 4 КБ, совместимая с React и предлагающая тот же современный API компонентов на основе Virtual DOM.

39 тыс.+4 за неделю4,4 тыс.JavaScriptMITОбновлён 20 часов назад

Omi — фреймворк для Web Components с JSX, реактивностью на основе сигналов, роутером и поддержкой Tailwind для создания переиспользуемых пользовательских элементов.

13,3 тыс.1,3 тыс.TypeScriptOtherОбновлён 15 дней назад