Uma biblioteca de UI rápida e compatível com React, com cerca de 4 kB, a mesma API moderna de componentes e baseada em Virtual DOM.
infernojs/inferno
Uma biblioteca JavaScript extremamente rápida, no estilo React, para criar interfaces de alto desempenho no cliente e no servidor.
- Estrelas
- 16,452
- Forks
- 642
- Issues abertas
- 36
- Último commit
- ontem
O que é?
Inferno é uma biblioteca JavaScript no estilo React para criar interfaces de usuário. Ela mantém o modelo de componentes, o fluxo de dados unidirecional e os conceitos de ciclo de vida do React, mas prioriza a velocidade de renderização em tempo de execução, especialmente em visualizações de dados em tempo real e árvores DOM grandes.
A velocidade vem de otimizações em tempo de compilação. Os plugins JSX do Inferno para Babel, SWC e TypeScript geram chamadas diretas para criação de vNodes, em vez de chamadas a createElement. Além disso, flags de filhos, como $HasVNodeChildren, permitem que os desenvolvedores declarem a estrutura dos filhos para que o runtime possa pular a normalização. A biblioteca também oferece linkEvent para evitar funções arrow e chamadas a bind em handlers de eventos, além de oferecer renderização no servidor por meio de inferno-server.
O Inferno difere do React em alguns aspectos: tem um sistema parcial de eventos sintéticos, hooks de ciclo de vida em componentes funcionais e componentes de formulário controlados. Ele não oferece suporte ao React Native. JSX é opcional: também é possível usar hyperscript e createElement.
Recursos principais
- 01API de componentes no estilo React, com fluxo de dados unidirecional e métodos de ciclo de vida familiares
- 02Eventos de ciclo de vida em componentes funcionais, algo que o React não oferece
- 03Sistema parcial de eventos sintéticos e helper linkEvent para evitar bind e closures
- 04Renderização no cliente e no servidor por meio de inferno-server e hydrate
- 05Componentes controlados de input, select e textarea
- 06Plugins JSX em tempo de compilação para Babel, SWC e TypeScript
Casos de uso
- Criar dashboards ou visualizações de dados em tempo real que são atualizados com frequência
- Renderizar árvores DOM muito grandes, nas quais o desempenho em tempo de execução é importante
- Migrar um front-end pequeno no estilo React para um runtime mais leve
- Criar aplicações web renderizadas no servidor que precisam de hidratação no cliente
Início rápido
- 1
Instale o pacote principal
npm install --save inferno - 2
Instale um plugin de compilador JSX para Babel
npm install --save-dev babel-plugin-inferno - 3
Renderize um componente em um elemento DOM usando a função render
Antes de usar
- Inferno não oferece suporte ao React Native.
- Inferno não oferece suporte a refs de string legadas, então o código que depende delas precisa ser alterado.
- As otimizações de JSX em tempo de compilação do Inferno exigem a versão correspondente do plugin de compilador do Inferno.
Tópicos
Perguntas frequentes
- O que é inferno?
- Uma biblioteca JavaScript extremamente rápida, no estilo React, para criar interfaces de alto desempenho no cliente e no servidor. Inferno é uma biblioteca JavaScript no estilo React para criar interfaces de usuário. Ela mantém o modelo de componentes, o fluxo de dados unidirecional e os conceitos de ciclo de vida do React, mas prioriza a velocidade de renderização em tempo de execução, especialmente em visualizações de dados em tempo real e árvores DOM grandes.
- inferno é gratuito? Qual é a licença?
- inferno é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- inferno ainda é mantido?
- Manutenção ativa. O último commit de inferno foi em 23 de out. de 2026.
- Para que posso usar inferno?
- Criar dashboards ou visualizações de dados em tempo real que são atualizados com frequência Renderizar árvores DOM muito grandes, nas quais o desempenho em tempo de execução é importante Migrar um front-end pequeno no estilo React para um runtime mais leve Criar aplicações web renderizadas no servidor que precisam de hidratação no cliente
- Como instalar inferno?
- Instale o pacote principal: npm install --save inferno Instale um plugin de compilador JSX para Babel: npm install --save-dev babel-plugin-inferno Renderize um componente em um elemento DOM usando a função render
- Onde consigo inferno?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/infernojs/inferno
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma biblioteca declarativa de UI em JavaScript que compila JSX em atualizações diretas do DOM com reatividade granular, sem Virtual DOM.
Omi é um framework de Web Components com JSX, reatividade baseada em signals, roteador e suporte a Tailwind, voltado à criação de elementos customizados reutilizáveis.
Bindings do Angular para o Firebase JS SDK, com injeção de dependências, observables do RxJS e APIs adaptadas ao Angular para os serviços do Firebase.
Biblioteca de componentes de UI e linguagem de design para React, voltada à criação de aplicações web corporativas.
Framework de componentes de UI com Material Design para Vue, com componentes responsivos e criados artesanalmente para desenvolver aplicações web.