Introducción

EmberKit es un framework JSX minimalista y TypeScript-first construido en torno a tres principios — velocidad primero, luego peso mínimo, y cero JavaScript por defecto.

Velocidad

El rendimiento es la prioridad máxima. EmberKit optimiza todo el camino del servidor a la pantalla:

  • HTML renderizado en el servidor — Las páginas llegan como marcado en desarrollo y producción (hybrid, ssr, static). Los usuarios ven contenido antes de que se ejecute JavaScript.
  • Rutas estáticas pre-renderizadas — En modos hybrid y static, las rutas fijas se convierten en HTML en tiempo de build para TTFB y First Contentful Paint rápidos en el CDN.
  • Hidratación selectiva — Sin reconciliación de DOM virtual en el cliente. Las señales actualizan nodos enlazados vía data-ek-bind; solo las regiones interactivas cargan JS.
  • Actualizaciones dirigidas — Cuando cambia el estado, el runtime toca nodos DOM concretos en lugar de re-renderizar árboles de componentes.

Consulta SSR y SSG para modos y el pipeline de build.

Peso

Un runtime tree-shakeable centrado en enrutamiento, señales y enlace al DOM — no un reconciliador grande. Pagas solo lo que usas. Las páginas estáticas pueden enviar cero JS del framework cuando no tienen manejadores ni enlaces.

Cero JS por defecto

El marcado estático permanece HTML. La interactividad es opt-in:

  • data-ek-bind — conecta señales a nodos DOM (Hidratación)
  • Manejadores de eventos — conectados tras la carga vía data-ekclick
  • Componentes con onClick o enlaces — solo esas regiones se hidratan
function Hero() {
  return <h1>Hello</h1>; // fast paint, no client JS
}

function Counter() {
  const [count, setCount] = createSignal(0);
  return (
    <>
      <span data-ek-bind={count}>{count()}</span>
      <button type="button" onClick={() => setCount((n) => n + 1)}>+</button>
    </>
  );
}

De un vistazo

EnrutamientoConvenciones de archivos en src/routes/
RenderizadoHíbrido por defecto: pre-render de rutas estáticas, SSR para rutas dinámicas
EstadoSeñales + actualizaciones DOM dirigidas
Herramientasemberkit dev, build, preview, serve

Novedades en 0.8.0

  • Efectos reactivoscreateEffect / createMemo se re-ejecutan cuando cambian las dependencias
  • View Transitionsrender(..., { viewTransitions: true }) para navegación SPA
  • Dev APIdevApiPlugin y src/routes/_api/* en desarrollo
  • sqlRawPlugin — importar *.sql?raw para despliegues edge
  • i18n — archivos JSON de traducción con createI18nFromGlob (guía)

Consulta las notas completas de Release 0.8.0.

Siguientes pasos