Repolode
infernojs

infernojs/inferno

Una biblioteca JavaScript muy rápida, similar a React, para crear interfaces de usuario de alto rendimiento en el cliente y el servidor.

Estrellas
16,452
Forks
642
Issues abiertos
36
Último commit
anteayer

¿Qué es?

Inferno es una biblioteca JavaScript similar a React para crear interfaces de usuario. Mantiene el modelo de componentes, el flujo de datos unidireccional y los conceptos de ciclo de vida de React, con especial atención a la velocidad de renderizado en tiempo de ejecución, sobre todo en vistas de datos en tiempo real y árboles DOM grandes.

La velocidad se consigue mediante optimizaciones en tiempo de compilación. Los plugins JSX de Inferno para Babel, SWC y TypeScript generan llamadas directas para crear vNodes en lugar de llamadas a createElement, y las etiquetas de hijos, como $HasVNodeChildren, permiten a los desarrolladores declarar la estructura de los hijos para que el entorno de ejecución pueda omitir la normalización. La biblioteca también ofrece linkEvent para evitar funciones flecha y llamadas a bind en los controladores de eventos, y permite renderizar en el servidor mediante inferno-server.

Inferno se diferencia de React en algunos aspectos: cuenta con un sistema parcial de eventos sintéticos, hooks de ciclo de vida en componentes funcionales y componentes de formulario controlados. No es compatible con React Native. JSX es opcional, ya que también están disponibles hyperscript y createElement.

Funciones clave

  • 01API de componentes similar a React, con flujo de datos unidireccional y métodos de ciclo de vida conocidos
  • 02Eventos de ciclo de vida en componentes funcionales, una función que React no ofrece
  • 03Sistema parcial de eventos sintéticos y helper linkEvent para evitar bind y los cierres
  • 04Renderizado en el cliente y el servidor mediante inferno-server e hydrate
  • 05Componentes controlados para input, select y textarea
  • 06Plugins JSX en tiempo de compilación para Babel, SWC y TypeScript

Casos de uso

  • Crear paneles o vistas de datos en tiempo real que se actualizan con frecuencia
  • Renderizar árboles DOM muy grandes donde importa el rendimiento en tiempo de ejecución
  • Migrar una aplicación de frontend pequeña al estilo de React a un entorno de ejecución más ligero
  • Crear aplicaciones web renderizadas en el servidor que necesitan hidratación en el cliente

Inicio rápido

  1. 1

    Instala el paquete principal

    npm install --save inferno
  2. 2

    Instala un plugin de compilador JSX para Babel

    npm install --save-dev babel-plugin-inferno
  3. 3

    Renderiza un componente en un elemento DOM mediante la función render

Antes de usarlo

  • Inferno no es compatible con React Native.
  • Inferno no admite las referencias de cadena heredadas, por lo que el código que dependa de ellas debe modificarse.
  • Las optimizaciones de Inferno para JSX en tiempo de compilación requieren la versión correspondiente del plugin de compilador de Inferno.

Temas

Preguntas frecuentes

¿Qué es inferno?
Una biblioteca JavaScript muy rápida, similar a React, para crear interfaces de usuario de alto rendimiento en el cliente y el servidor. Inferno es una biblioteca JavaScript similar a React para crear interfaces de usuario. Mantiene el modelo de componentes, el flujo de datos unidireccional y los conceptos de ciclo de vida de React, con especial atención a la velocidad de renderizado en tiempo de ejecución, sobre todo en vistas de datos en tiempo real y árboles DOM grandes.
¿inferno es gratuito? ¿Qué licencia tiene?
inferno es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿inferno sigue mantenido?
Mantenimiento activo. El último commit de inferno fue el 23 oct 2026.
¿Para qué puedo usar inferno?
Crear paneles o vistas de datos en tiempo real que se actualizan con frecuencia Renderizar árboles DOM muy grandes donde importa el rendimiento en tiempo de ejecución Migrar una aplicación de frontend pequeña al estilo de React a un entorno de ejecución más ligero Crear aplicaciones web renderizadas en el servidor que necesitan hidratación en el cliente
¿Cómo se instala inferno?
Instala el paquete principal: npm install --save inferno Instala un plugin de compilador JSX para Babel: npm install --save-dev babel-plugin-inferno Renderiza un componente en un elemento DOM mediante la función render
¿Dónde consigo inferno?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/infernojs/inferno

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados