Nexanexa
Paso 9

Islas interactivas

Para lo que sí necesita un framework real — un dashboard, un carrito complejo — sin que el resto del sitio deje de ser HTML-first.

Marcar la isla

<div data-nexa-island="dashboard" data-nexa-strategy="visible">
    <p>Cargando panel…</p>
</div>

El servidor solo renderiza el fallback (los hijos del div, contenido real); el montaje ocurre 100% en el cliente.

El contrato de montaje

// src/islands/dashboard.island.ts
export default function mount(el, props) {
    // @nexa/reactivity a mano, o un adaptador de Vue/Preact/etc.
    return () => { /* cleanup opcional */ };
}

Cualquier framework puede implementar esto: código escrito a mano con @nexa/reactivity, o un adaptador sobre Vue, Preact, lo que sea.

Sin reabrir la composición

// nexa.toml
[imports]
dashboard = "/vendor/dashboard-island.js"

Rust nunca abre ni interpreta el módulo del specifier — para el compilador, un data-nexa-island es un Element más, igual que cualquier otro atributo.