Fresh, un nuevo y fresco web framework
Así es, justo cuando acabas de aprender otro hook de React, features de Webpack o Rollup, sale esto: ¡Fresh!, pero dale Fresh. En este artículo veremos de que trata paso a paso; vamos a ello.
Antes de comprender qué es Fresh, vamos a ver qué es Deno. Deno es una alternativa a Node.js, este entorno de ejecución fue creado por Ryan Dhal, la misma persona que creo Node, salió en 2018, al no estar satisfecho con el resultado final de Node, Ryan describe que en Node hay cosas irreparables, por ello, se vio en la necesidad de crear Deno, consideraba que habían cosas como el manejo de los paquetes que no le parecían, ¿por qué tener que instalarlo?, ¿por qué no solamente copiar un link y trabajar el runtime con recursos existentes desde Github? Deno resuelve estos problemas importando modulos desde URLs.
Despues de una minima introducción a lo que es Deno, ahora sí, veamos qué es esto de fresh. Fresh es un framework web de la nueva generacion para fullstack developers de Typescript y Javascript. Lo que lo hace especial, es que tiene algunas ventajas bastante innovadoras y muy diferentes a la manera de resolverlo en un proyecto de Node, algunas de estas son:
- No hace builds.
- El renderizado de la página es casi instantáneo.
- Implementa arquitectura de islas "Island based client hydration", para conservar la interactividad.
- No envía javascript innecesario al navegador, lo cual, reduce tiempos de carga.
- No necesita configuración.
- Corre Typescript.
Exploremos un poco el concepto de la arquitectura de islas para entender mejor por qué Fresh hace hace mas rapido el sitio. Al cargar una página completamente con SSR, estamos llenando el sitio de Javascript, lo cual perjudica el rendimiento de los sitios web; por ello, la idea es tratar a los componentes por separado, importando unicamente el Javascript del componente que está siendo usado para conservar la interactividad con el usuario. Otra cosa es que Fresh renderiza los componentes como HTML estático, en vez de hacerlo con javascript, pero ahí entra el concepto de Island based client hydration, imagina una isla de interactividad en un mar estático, dicha isla es renderizada en el navegador del cliente y en el servidor, para ir refrescándola y mantener la interactividad.
No hay comentarios: