Fresh
Para crear aplicaciones web rápidas en Deno que envían el mínimo JavaScript al navegador.
Framework web full-stack para Deno basado en Preact, con renderizado en servidor e islas de interactividad.
Notas y contexto
Qué es
Fresh es un framework web full-stack creado por el equipo de Deno y mantenido bajo la organización Fresh. Está construido sobre el runtime Deno y usa Preact con Signals para la capa de vista. Renderiza las páginas en el servidor por defecto y solo hidrata con JavaScript las partes interactivas, siguiendo el modelo de arquitectura de islas. No necesita paso de compilación ni node_modules. Es open source con licencia MIT.
Para qué sirve
- Construir sitios y aplicaciones web que se renderizan en el servidor y envían poco o ningún JavaScript al cliente.
- Definir rutas mediante el sistema de ficheros, con soporte nativo de TypeScript y JSX sin configuración.
- Marcar componentes concretos como islas para añadir interactividad puntual sin hidratar toda la página.
- Desplegar en el edge (por ejemplo en Deno Deploy) aprovechando el arranque rápido del runtime.
Cuándo usarlo
Encaja cuando trabajas en el ecosistema Deno y quieres un framework ligero centrado en rendimiento, con renderizado en servidor y JavaScript mínimo por defecto. Es buena opción para sitios de contenido, paneles y apps de tamaño medio donde la interactividad es localizada. Si tu proyecto vive en Node y necesitas un ecosistema más amplio de integraciones, alternativas como Next.js, Astro o SvelteKit pueden encajar mejor.
Ejemplo
Crear un proyecto nuevo con Deno instalado:
deno run -A jsr:@fresh/init my-app cd my-app deno task dev
Una isla interactiva en islands/Counter.tsx:
import { useSignal } from “@preact/signals”;
export default function Counter() { const count = useSignal(0); return ( <button onClick={() => count.value++}> Contador: {count} ); }
El servidor renderiza la página y solo esa isla se hidrata en el navegador.
Puntos clave
- Renderizado en servidor por defecto e islas que hidratan solo lo necesario, reduciendo el JavaScript enviado.
- Sin paso de build ni
node_modules: aprovecha TypeScript y JSX nativos de Deno. - Reactividad ligera con Preact y Signals; enrutado basado en el sistema de ficheros y middleware.
- La versión 2 incorpora WebSockets, View Transitions, streaming con Partials, OpenTelemetry y CSP con nonce automático.
Ten en cuenta
Fresh está ligado al runtime Deno, por lo que no es la elección si tu stack se basa en Node.js. Su ecosistema de plugins e integraciones es más reducido que el de frameworks más veteranos, y el modelo de islas con Preact requiere adaptarse si vienes de React. El proyecto está activo y mantenido (versión 2.3.3, abril de 2026), con releases frecuentes.