deno desktop: empaqueta proyectos web en aplicaciones de escritorio

Fuentes: deno desktop: package web projects into desktop apps

deno desktop es una nueva funcionalidad de Deno que convierte cualquier proyecto web —desde un único archivo TypeScript hasta una aplicación Next.js— en una aplicación de escritorio autocontenida. El resultado es un binario redistribuible que agrupa el código del usuario, el runtime de Deno y un motor de renderizado web en un único paquete por plataforma.

La herramienta llega incluida en Deno v2.9.0 y aún no forma parte de una versión estable: para probarla hay que ejecutar deno upgrade canary. Tanto el comando como las claves de configuración y las API de TypeScript pueden cambiar antes de la estabilización.

¿Para qué sirve y por qué importa? Frente a alternativas como Electron, Tauri o Electrobun, deno desktop adopta una postura definida sobre sus compromisos. Por defecto usa el WebView del propio sistema operativo para mantener binarios pequeños y ofrece acceso al ecosistema npm mediante la capa de compatibilidad con Node de Deno; cuando se requiere renderizado idéntico en macOS, Windows y Linux, se puede activar el backend Chromium empaquetado (CEF). Detecta automáticamente frameworks como Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start o Vite SSR, ejecutando el servidor de producción o el servidor de desarrollo con recarga en caliente (--hmr) sin modificar el código. La comunicación entre backend e interfaz se realiza mediante enlaces en proceso, sin IPC basado en sockets, y permite compilar para las tres plataformas desde una sola máquina descargando los backends bajo demanda.

Como casos de uso prácticos: crear una app mínima con Deno.serve() y empaquetarla con deno desktop main.ts; integrar proyectos web existentes en escritorio; distribuir actualizaciones automáticas mediante bsdiff desde un manifiesto latest.json. Entre las secciones de la documentación se cubren configuración, backends, frameworks, ventanas (Deno.BrowserWindow), bindings, menús, bandeja, diálogos, notificaciones, HMR, DevTools, auto-actualización, distribución y comparativa con Electron, Tauri, Electrobun y Dioxus.