cover

¿Qué le pasa a Remix v3?


Mira el video si prefieres:

Para mí Remix siempre ha sido la vanguardia. Es decir, que siempre ha sido experimentación, una herramienta que me saca de mi zona de confort (o des-confort) para intentar otros patterns, patterns más simples. 🧷

React Router heredó todo el trabajo en Remix v2 hace poco, en su versión 7, haciendo un “merge” con Remix. Para luego, poner a Remix a dormir. 🥱

¿Remix ha despertado?

Los autores de este bonito framework, al que le he dedicado algunos cursos ya, Ryan Florence y Michael Jackson publicaron una entrada en su blog en la que explican este merge que además de juntar todos los patterns full-stack de Remix en React Router, dicen que libera a Remix para lo que sigue, para lo siguiente. Por eso nos avisaron en noviembre que dormiría. Pero, según ellos, ahora ha llegado el momento de despertar a Remix para, nuevamente, trabajar en conseguir una mejor manera de hacerlo. 🧠

A mi me gusta imaginar a Remix como ese caballito explorador que uno mandaba a cada una de las esquinas del mapa en el age of empires, sí, ya sé mano, ya estoy ruko. 👴🏼

React Router es muy bueno

En esa entrada de blog de la que te he hablado, reafirman que React Router es sumamente bueno en producción. Un framework orientado a los React Server Components, proponiendo una forma más fresca de trabajar con ellos, pues, React Router puede devolverlos desde loaders y actions. 🫨

Nos presumen varias marcas que han apostado por React Router en producción como:

  • Shopify
  • X.com
  • Github
  • ChatGPT
  • Linear
  • T3Chat
  • Y muchos más (11 millones de repos más)

También prometen que React Router está a un release menor de soportar la arquitectura completa del nuevo React. 🤖

¿Qué significa esto para Remix?

Bueno pues, los autores dicen que se sienten libres de ir y construir ¡lo que sea que venga después!

Un camino nuevo

Anoche seguí leyendo esta entrada del blog de Remix en la que también dice que han visto que la complejidad en el desarrollo web crece en formas que de pronto se sienten… pesadas. Dicen que, a veces, el desarrollo web moderno se puede sentir como (y parafraseando:) extraviarse en un laberinto de herramientas. 😵‍💫

Nos dicen que habían tenido ideas que se sentían muy disruptivas como para perseguirlas en el pasado. Pero, ahora que Remix ya no está atado a ningún paradigma en específico, pueden por fin explorar su curiosidad. 😜

Lo que el equipo de Remix nos dice es que lo van a despertar para llevarlo en una nueva dirección. Conseguir un Remix Más rápido, más simple y más cercano a la propia web. 🤩

Apostarán pues, por controlarlo todo. Sin dependencias de ninguna clase, incluso sin React, pues se preferirá hacer un fork de Preact. Una biblioteca muy popular y madura de la que su virtual DOM ya es usado ampliamente por Shopify, Google y muchos otros. Con todo esto, Remix v3 se pinta hermosamente simplificado para ser potente. ¿Apoco no? ⚙️

Estos son los 6 mandamientos (principios)

El equipo de Remix no se disculpa por no tener listo un preview release de Remix v3 porque nos compartieron los mandamientos de la secta separatista que están creando:

  1. Model-First Development. Se pone en frente a los LLMs. Todo se orienta para allá, documentación, tooling y abstracciones todas para LLMs ¡incluso el propio código fuente! Considerará y se orientará en torno de la integración de modelos dentro de los propios productos.
  2. Construir sobre las APIs Web. Las APIs Web y JavaScript son el único ecosistema full stack de verdad.
  3. Runtime como religión. Todos los paquetes deben ser diseñados sin expectativas en análisis estáticos y todos los test deben correr sin necesitar de un paso de building. Entre algunos otros permisibles para JSX y TS.
  4. Evitar las dependencias. Como en la vida en el código, las dependencias nos atan al caballo de otro. Somos arrastrados por aquello de lo que dependemos. Por eso, se espera remplazar librerías por nuestro paquete propio, eventualmente. La meta es 0 (zero) dependencias.
  5. Se demanda la composición. Las abstracciones deben tener un único propósito y ser reemplazables. Una abstracción que se puede componer es más fácil de añadir y remover de un programa existente. Los features nuevos debe primero intentarse como un paquete independiente. Y los módulos que cambian juntos casi siempre, deben mudarse y vivir en el mismo paquete.
  6. Distribuir cohesivamente. Los ecosistemas extremadamente componibles son difíciles de aprender y de usar. Por eso, todas estas herramientas se agrupa bajo una sola sombrilla o paquete: Remix. Y, se exportará como un single toolbox.

El equipo de Remix concluye con una invitación a suscribirte a los updates si estos principios resuenan contigo. Y ya, ¿Cómo ves?

¿Vas a esperar con ansias el primer release de Remix v3?

¿Te da curiosidad cómo se usará Preact en Remix v3?

¿Vas a probar Preact de una vez?

¿Vas a ir al Remix Jam en Toronto?

Si sí, nos vemos por allá. 🤭

👀 Me doy la libertad de traducir e interpretar con mi propio criterio y para fines educativos. 🤓 laberinto en vez de roadmap nomás para seguir la tradición borgiana-latinoamericana. 🤭

Abrazo. Bliss. 🤓

Enlaces relacionados

Mi curso de Remix

Probar Preact de una

Suscríbete a los updates de Remix

Vamos al Remix Jam

meta cover

Full-stack components | modo1: API route

Checa este otro Post

meta cover

Pseudo-introducción a Sveltekit para mi mismo.

Checa este otro Post

¡Nuevo curso!

Animaciones web con React + Motion 🧙🏻