Saltar al contenido

¿Quién soy? 🐐 Un Artesano en el Ecosistema de Vite

Para quien no me conozca, me podéis encontrar en casi cualquier rincón del ecosistema de Anthony Fu. Mi pasión es llevar el rendimiento y la experiencia de desarrollo al límite. Estas son algunas de mis contribuciones:

Soy un core team member de UnoCSS, Vitest, Vue, elk.zone, TresJS, Vuetify y un Nuxter.

Puedes encontrarme en GitHub, BlueSky o Mastodon.

La Filosofía: La Red es el Enemigo

A menudo me preguntan por qué prefiero ciertos stacks tecnológicos. Mi analogía es simple:

  • Un backend en Kotlin (Java) es una cocina industrial. Requiere una puesta a punto seria, pero una vez montada, es una máquina robusta, escalable y de un rendimiento predecible.
  • Un backend en JavaScript/Node es como una franquicia de comida rápida. Es increíblemente rápido de montar, pero escalar y mantener una calidad consistente bajo alta presión puede ser un desafío.

Pero ni la mejor cocina del mundo puede solucionar el verdadero cuello de botella de la web moderna. El problema no está en el cliente ni en el servidor. El problema es la red.

El objetivo de esta odisea era simple: reducir el payload de navegación en órdenes de magnitud y declararle la guerra a la latencia.

Mi Odisea de 25 Años hacia una Web Instantánea

Mi historia con la web, como la de muchos, es una odisea que abarca más de dos décadas. Empezó en el año 2000, en la era de los CGIs, Servlets y un JavaScript que era más un campo de batalla (IE, Netscape...) que una herramienta de placer.

Sobre 2016, llegó Vue. Por primera vez, construir interfaces era elegante. Pero seguíamos anclados al modelo SPA con Webpack: fantástico en una buena conexión, pero un infierno en un dispositivo con una CPU lenta, donde la "hidratación" inicial congelaba la experiencia.

El punto de inflexión llegó en 2020 con una aplicación para la administración pública de Colombia. Los requisitos de rendimiento eran innegociables. Mi stack de siempre no era suficiente. Fue entonces cuando descubrí Vite, y fue amor a primera vista. Pero la verdadera revelación, el momento que encendió todas mis neuronas "muertas", fue un pequeño flag en una librería: hydration: true en vite-ssg y no hace mucho tiempo.

Hasta entonces, mis intentos de SSR eran ingenuos en mi Kotlin backend: servía HTML desde el backend, pero el createApp() de Vue lo aniquilaba para volver a pintarlo todo en el cliente. Servía para el SEO, pero no para el usuario. Ver cómo el HTML del servidor y la SPA del cliente podían fusionarse fue una visión del paraíso.

Esta arquitectura no va de crear blogs estáticos. Va de construir aplicaciones web dinámicas y complejas que se sienten tan instantáneas como un document. El problema nunca fue el servidor o el cliente; siempre fue la red. Este es el relato de cómo, usando una SSG inteligente y un Service Worker, podemos darle la estocada mortal a la latencia.

Liberado bajo la licencia MIT