Nectar: un lenguaje web que compila a WebAssembly y prescinde de JavaScript

Fuentes: Nectar: a WebAssembly-based web language aiming to replace JavaScript

Nectar es un lenguaje de programación que compila a WebAssembly y se propone como sustituto de JavaScript para el desarrollo web. La aplicación completa — lógica, estado y renderizado — se ejecuta dentro de un único binario WASM, mientras que JavaScript queda reducido a una capa de llamadas al sistema de 10 KB que conecta con el DOM. La cadena de herramientas se distribuye como un único binario en Rust que se ocupa de compilar, formatear, aplicar linter, ejecutar pruebas, servir la aplicación en desarrollo, ofrecer un LSP, gestionar paquetes y realizar renderizado en el servidor, sin dependencias externas que configurar.

El estado se gestiona mediante señales en WASM que actualizan nodos concretos del DOM en tiempo O(1), sin DOM virtual, sin diffing ni reconciliación. El sistema de tipos se inspira en Rust: incorpora un verificador de préstamos (borrow checker), tipos estáticos y pattern matching exhaustivo para detectar errores en tiempo de compilación. Nectar integra además patrones habituales de la web —componentes, almacenes, enrutadores, formularios, autenticación, pagos, subida de archivos, bases de datos, cachés y agentes— como primitivas del lenguaje en lugar de como bibliotecas externas. Entre los valores por defecto de seguridad figuran cookies HttpOnly para autenticación y la ausencia de eval, lo que, según el proyecto, hace inviables los ataques XSS; la memoria se asigna de forma lineal, por lo que no hay pausas de recolección de basura.

El mismo binario WASM se ejecuta en el servidor mediante wasmtime, con SSR, hidratación e implementación incluidas en 29 regiones de Cloud Run. Un motor de renderizado por canvas integrado impulsa una demostración que renderiza 10.000 productos reactivos, comparada con Svelte 5. El proyecto advierte de que la demo de Svelte puede agotar el tiempo de espera en la primera carga y recomienda recargar. El autor —que indica que el proyecto lo desarrolla una sola persona— está recopilando correos electrónicos para conceder acceso anticipado y recabar opiniones.