No es lo que esperaba, pero quizás lo que necesitamos

MMaximilian Schwarzmüller
Computing/SoftwareInternet Technology

Transcript

00:00:00Tenemos un nuevo framework de JavaScript,
00:00:03un framework full stack,
00:00:04pero escúchame antes de irte.
00:00:06Es bastante interesante porque es de la gente de Remix,
00:00:10o sea,
00:00:11la gente que creó Remix JS: Ryan Florence y Michael Jackson.
00:00:15No, no ese Michael Jackson.
00:00:17Que también son los autores originales de React Router.
00:00:21Compartieron su visión y de hecho el primer prototipo,
00:00:25digamos,
00:00:26o algunas primeras demos de su flamante nuevo framework de JavaScript,
00:00:31Remix versión 3.
00:00:32Así que no es realmente un nombre nuevo.
00:00:35Es un nombre que ya existe,
00:00:37pero es un framework completamente nuevo.
00:00:40Y en este video intentaré darle sentido a todo esto.
00:00:44Explicaré qué es y,
00:00:45por supuesto,
00:00:46cuál es mi opinión al respecto,
00:00:48si realmente necesitamos otro framework de JavaScript y cuáles creo que serán sus posibilidades de éxito o adopción,
00:00:57ahora en una era donde los modelos de lenguaje grandes,
00:01:01por supuesto,
00:01:01escupen aplicaciones de React por defecto.
00:01:04Pero vayamos paso a paso: ¿qué es exactamente Remix y por qué importa??
00:01:11Remix,
00:01:11por si te lo perdiste,
00:01:13es un meta-framework de React,
00:01:15en definitiva una alternativa a Next.js.
00:01:18Y Remix se lanzó ya hace un par de años.
00:01:21Remix versión 2 se lanzó,
00:01:23creo,
00:01:23en 2022,
00:01:24si no me equivoco del todo.
00:01:26Y luego en 2024,
00:01:27Remix versión 2 se fusionó esencialmente con React Router.
00:01:31Por eso ahora,
00:01:32cuando usas React Router,
00:01:34puedes usarlo como una biblioteca de routing en aplicaciones de React como siempre lo hiciste,
00:01:41eso sigue funcionando,
00:01:43sigue siendo una biblioteca increíble para eso.
00:01:46Pero también puedes usarlo en modo framework para básicamente iniciar una aplicación de React full stack donde React Router es más que solo un enrutador,
00:01:57donde también ayuda con la obtención de datos,
00:02:00la carga de datos,
00:02:02las mutaciones de datos,
00:02:03tal como Remix lo hacía,
00:02:05porque es Remix fusionado en React Router.
00:02:08Pero eso,
00:02:09por supuesto,
00:02:10planteó la pregunta de qué pasará entonces con Remix,
00:02:14con la marca..
00:02:17Remix.
00:02:17Y resulta que se convertirá en un nuevo framework con la versión 3.
00:02:22Se convertirá en un nuevo framework que,
00:02:25importante,
00:02:26es independiente de React.
00:02:28No es un meta-framework de React.
00:02:30No es otra alternativa a Next.js, por así decirlo.
00:02:34En cambio,
00:02:35es un flamante nuevo framework de JavaScript full stack escrito desde cero,
00:02:40desde el principio,
00:02:41con todas las características y la API que a Ryan Florence y Michael Jackson les gustaría tener en un nuevo framework de JavaScript.
00:02:51Así que básicamente resolviendo los problemas que ven y vieron con el ecosistema de JavaScript,
00:02:58con el panorama existente de bibliotecas y frameworks,
00:03:02si se quiere,
00:03:03específicamente,
00:03:04por supuesto,
00:03:05con React,
00:03:05ya que es la principal biblioteca y framework,
00:03:09dependiendo de cómo quieras llamarlo,
00:03:11que tenemos por ahí.
00:03:13Entonces, ¿de qué se trata este nuevo Remix?.
00:03:18Bueno,
00:03:18el viernes pasado pudimos obtener una primera demo,
00:03:21un primer vistazo a la API.
00:03:23Y enlazaré el livestream completo donde puedes ver todo el evento de anuncio debajo de este video,
00:03:28por supuesto,
00:03:29en caso de que quieras revisarlo todo.
00:03:32Pero ten en cuenta el hecho de que serán alrededor de cuatro horas de demo y explicación sin parar.
00:03:37Yo las vi para que tú no tengas que hacerlo si no quieres,
00:03:41pero definitivamente échale un vistazo si quieres aprender más.
00:03:45Y aquí ves una de las cosas principales de las que tratará este nuevo....
00:03:49Framework,
00:03:50o digamos lo principal que causó algunas olas en X: this.update.
00:03:56No se ve demasiado espectacular, ¿verdad.
00:03:59Bueno, en realidad implica dos cosas a las que...?
00:04:04Los desarrolladores de JavaScript ya no están realmente acostumbrados.
00:04:09A) el uso de la palabra clave this.
00:04:11Quiero decir,
00:04:12la gente vieja como yo aprendió todas las peculiaridades y características de this cuando empezamos con JavaScript.
00:04:20Hoy en día no lo usas realmente mucho.
00:04:22En React probablemente nunca escribirás this.
00:04:25Pero es una palabra clave integrada en JavaScript.
00:04:29Están aprovechando esa palabra clave this para exponerte algunas APIs.
00:04:33¿Dónde obtienes acceso a esas APIs?
00:04:36Bueno, todavía escribes funciones..
00:04:39Así que no escribes clases,
00:04:40aunque podrías pensar que sí con esta palabra clave.
00:04:43Pero cuando trabajas con Remix,
00:04:45todavía estás construyendo componentes,
00:04:47y seguirás usando funciones para eso.
00:04:49Tal como lo conoces de React,
00:04:51pero esas funciones de componente se verán un poco diferentes.
00:04:55Pero volvamos a this.update.
00:04:56Mencioné que hay dos cosas importantes al respecto.
00:04:59This es una de ellas.
00:05:01Update es la otra,
00:05:02porque en Remix versión 3 tendrás que decirle al framework cuándo debe actualizar la pantalla,
00:05:07cuándo debe volver a renderizar.
00:05:09Y eso es,
00:05:09por supuesto,
00:05:10algo a lo que ya no estamos acostumbrados.
00:05:13Porque en React,
00:05:14pero también en Vue y Angular,
00:05:15confías en que el framework determine por ti cuándo actualizar.
00:05:19En React,
00:05:19cuando llamas a setState,
00:05:21estás asignando un nuevo valor al estado que estás gestionando,
00:05:25y eso también desencadenará una actualización de la interfaz.
00:05:28Pero no necesariamente al instante.
00:05:30En cambio,
00:05:31React hará algo de agrupación,
00:05:33recopilará múltiples actualizaciones de estado potencialmente,
00:05:36y así sucesivamente.
00:05:37Pero eventualmente actualizará la interfaz.
00:05:40Así que con setState,
00:05:41de alguna manera le dices a React que debería actualizar la interfaz.
00:05:45Pero mayormente le dices que algún valor cambia y que como efecto de eso la interfaz se actualizará,
00:05:51que la interfaz se volverá a renderizar.
00:05:53Con Remix es diferente.
00:05:54Con la versión 3 de Remix, debo decir.
00:05:57Ahí gestionarás tu estado en variables estándar,
00:05:59nada especial.
00:06:00No hay un hook useState ni nada parecido.
00:06:03De hecho, no hay hooks en absoluto.
00:06:05Y luego simplemente llamas a this.update cuando sabes que la interfaz debería actualizarse.
00:06:10Así que puedes cambiar un montón de variables y no llamar a this.update,
00:06:14y la interfaz no se actualizará.
00:06:16O cambias un montón de variables y llamas a this.update,
00:06:19y la interfaz se actualizará.
00:06:21Así es como funcionará.
00:06:22Y parece que un par de personas,
00:06:24ya conoces bien internet,
00:06:26la gente en internet es horrible.
00:06:28Un par de personas tienen algunos problemas con eso.
00:06:31Yo diría que veamos cómo funciona.
00:06:33Quiero decir,
00:06:33es un enfoque nuevo y el enfoque antiguo definitivamente funciona bien.
00:06:38Supongo que hay una razón por la que se usa en todas esas bibliotecas y frameworks.
00:06:42Pero el enfoque antiguo definitivamente también tiene el potencial de ser un arma de doble filo,
00:06:48lo que puede llevar a situaciones donde no está realmente claro por qué algo se actualiza o no se actualiza.
00:06:54Y en aplicaciones más complejas,
00:06:56y especialmente con versiones más nuevas de React que se han vuelto bastante complejas con montones de hooks y demás,
00:07:03puede ser abrumador comprender verdaderamente lo que está sucediendo.
00:07:07Y esa es una razón por la que están volviendo a una API más simple donde tienes control total..
00:07:16También están usando la palabra clave this para exponerte un par de otras APIs,
00:07:21pero en realidad no muchas porque claramente la idea es mantener el framework simple y enfocado y brindarte una buena experiencia de desarrollo y hacer que sea fácil usar este framework también porque un objetivo claro y ellos lo declararon en una publicación de blog que compartieron a principios de este año un objetivo claro para este framework es que debería ser fácil de usar por modelos de lenguaje grandes así que la idea claramente es que podrás como alimentar artículos de documentación o ejemplos en tu historial de chat con un modelo de lenguaje grande proporcionar algo de información como contexto y luego tener LLMs y asistentes de código que te ayuden a generar el código porque por supuesto necesitan hacer eso porque es un framework completamente nuevo así que obviamente ninguno de los modelos de lenguaje grandes existentes fue entrenado en esta base de código y en el futuro previsible no serán entrenados en ella porque el ochenta por ciento de todos los ejemplos de código front-end son react según parece específicamente react con shadcn así que por supuesto necesitan encontrar otra forma de permitir que los desarrolladores hagan que el modelo de lenguaje grande sea consciente de cómo escribir código remix we free que es otra razón por la que están manteniendo la IA simple imaginaría y por qué quieren mantenerla expresiva y fácil de entender y fácil de usar porque no son solo humanos los que deberían usarla sino también modelos modelos de lenguaje grandes así que ese es claramente un objetivo que tenían y puedes ver eso en los ejemplos que compartieron además otro objetivo que tienen y lo declararon múltiples veces en esa keynote en esa presentación es que están usando primitivas web están usando características que están disponibles en navegadores modernos y no solo navegadores sino también en el back end y llegaré al back end en un par de segundos pero están usando cosas que están integradas en el navegador están confiando fuertemente en eventos nativos y las capacidades integradas para despachar eventos personalizados así que puedes crear eventos personalizados en el navegador y despacharlos y están confiando fuertemente en eso están confiando en señales de aborto para comunicar que un componente fue desmontado por ejemplo y para permitirte detener tus escuchadores de eventos automáticamente así que están usando lo que está integrado en el navegador porque definitivamente siento que nosotros los desarrolladores web no nos hemos mantenido al día con lo que los navegadores modernos son capaces de hacer y no solo los navegadores modernos hay ciertas capacidades que han estado ahí por años y no las usamos puede que ni siquiera sepamos sobre ellas si realmente te sumerges en lo que el DOM tiene para ofrecer lo que los navegadores tienen para ofrecer qué APIs están disponibles ahí hay mucho que puedes hacer ahí y muchas cosas donde podrías no necesitar bibliotecas de terceros extra y eso es al final lo que están tratando de aprovechar mantenlo simple y usa esas capacidades integradas estadísticas al final su enfoque aquí ahora como dije aún es un framework aunque no crearás nodos DOM con createElement y todas esas APIs del DOM en su lugar como se mencionó antes aún crearás componentes creando funciones y usando código JSX ahí mostraron todo eso es solo que la gestión de estado funciona totalmente diferente que es en general más ligera que no tendrás hooks ni nada por el estilo también porque esas funciones de componente no serán llamadas una y otra vez como es el caso en react en su lugar tendrás dos tipos de funciones y dependiendo de cómo las escribas serán llamadas solo una vez o una parte de ellas podría ser llamada múltiples veces y aquí hay algo para las personas que podrían haber trabajado con react en el año dos mil supongo 17 ya en ese entonces podrías recordar teníamos dos tipos de componentes teníamos componentes con estado basados en clases que podían gestionar estado y que podían actualizarse cuando ese estado cambiaba y teníamos componentes sin estado y esos eran las funciones de componente en ese entonces y luego tuvimos hooks de react y todos los componentes se volvieron funciones de componente eventualmente y pueden ser ya sea con estado o sin estado Remix versión 3 está tomando ese enfoque de react de la vieja escuela por así decirlo pero no con clases o funciones sino en su lugar siempre funciones pero diferentes tipos de funciones si tienes una función que retorna JSX es un componente sin estado al final no puedes llamar a this update ahí dentro y esperar que la función del componente sea ejecutada nuevamente esa no es la forma en que funcionará puedes aceptar props y si el componente padre se re-renderiza tu función de componente será ejecutada nuevamente y así sucesivamente pero no puedes gestionar estado ahí dentro conviertes una función de componente en una función de componente con estado por así decirlo no retornando el código JSX sino en su lugar retornando una función que retorna el código JSX así que una función de componente que contiene y retorna una función que luego retorna el código JSX que será o que entonces puede ser un componente con estado y ahí cuando llamas a this dot update esa función que retornaste será ejecutada nuevamente al menos así es como yo lo entendí así que tenemos diferentes tipos de componentes pero nuevamente una API muy simple al final una forma muy simple de diferenciar entre funciones de componente con estado o sin estado y luego está el backend porque remix versión 3 no es solo un framework de front-end en su lugar es un framework full stack está destinado a ser un framework full stack pero por cierto también estarán enviando una biblioteca de componentes que hace más simple construir componentes de formulario complejos y demás también debería mencionar esto pero volviendo al back end también vendrá con una parte de back-end apunta a ser un framework full stack front-end y back-end combinados nuevamente sin react completamente en su lugar lo están rebelando todo desde cero por así decirlo pero en el back end obtendrás un router un router bastante capaz y poderoso porque obviamente dado que construyeron react router durante los últimos 10 años saben mucho sobre enrutamiento así que obtendrás un router poderoso obtienes las capacidades para retornar código JSX y componentes remix en tus rutas e hidratar esos componentes en el servidor vienen con su propia alternativa a los componentes de servidor de react una alternativa más simple que te permite retornar un componente que se actualizó después de ser servido en el cliente volviendo a obtener partes del DOM así que cuando eliminas algo por ejemplo podrías enviar una solicitud desde el cliente a ese servidor y recibir de vuelta algo de código HTML que puede ser hidratado nuevamente para actualizar partes del DOM así que nos están dando todas estas características para construir aplicaciones full stack modernas rápidas similares a single page tal como puedes con next JS o el modo framework de react router u otros frameworks como tan stack start pero más simple ese es el objetivo claro tener una forma simple de construir esas aplicaciones eso es lo que quieren hacer hay más en esta presentación es larga pero eso es como la parte más importante diría ese es mi principal conclusión quieren darnos un framework full stack simple y poderoso lo están escribiendo desde cero tenemos actualización manual y demás así que todo lo que describí necesitamos eso
00:14:56Esa es la gran pregunta y supongo que otra gran pregunta ¿tendrá éxito?
00:15:02Obviamente ambas preguntas son bastante difíciles de responder pero haré mi mejor esfuerzo ¿necesitamos eso?
00:15:08Bueno creo que tenemos muchos frameworks de JavaScript por ahí y claramente habrá muchas personas que digan que tenemos demasiados así que la respuesta entonces es no yo siempre pensé incluso allá en 2018 cuando teníamos un nuevo framework cada semana incluso en ese entonces pensé que siempre es bueno tener innovación y probar nuevas ideas no creo que necesitemos un nuevo framework que sea simplemente como react con algunas pequeñas diferencias no creo que necesitemos eso pero un enfoque completamente nuevo con esa actualización manual activada manualmente y todas estas otras pequeñas cosas que tienen creo que eso es una gran idea definitivamente vale la pena intentarlo suena interesante podría darnos una alternativa más simple a react que es increíble pero se ha vuelto bastante complejo a lo largo de los años así que sí podríamos necesitar eso ¿tendrá éxito?
00:16:04Esa es otra cuestión,
00:16:05por supuesto,
00:16:06porque especialmente ahora en la era de la IA y los grandes modelos de lenguaje,
00:16:11obviamente esos modelos recomendarán React por defecto.
00:16:14Por otro lado,
00:16:15las personas que no saben escribir código,
00:16:17desde luego,
00:16:18no son necesariamente el público objetivo,
00:16:21al menos no directamente.
00:16:22Volveré a eso.
00:16:23Así que eso no importa ahí.
00:16:25Ahora bien,
00:16:25los desarrolladores experimentados podrían estar interesados en usar Remix y simplemente guiar al gran modelo de lenguaje con ayuda de ejemplos oficiales y demás para generar código de Remix,
00:16:37simplemente porque quieren tener una base de código más simple,
00:16:41porque al final,
00:16:42como desarrolladores,
00:16:43todavía tocamos nuestro código.
00:16:45Podríamos generar grandes partes de él,
00:16:47pero aún controlamos el gran modelo de lenguaje.
00:16:50Todavía ajustamos partes del código.
00:16:53Podríamos escribir partes más grandes de ese código si tenemos una funcionalidad muy específica en mente que la IA simplemente no logra hacer bien.
00:17:01Así que obviamente todavía nos importa el stack tecnológico como desarrolladores.
00:17:06A mí todavía me importa al menos,
00:17:08y estoy seguro de que a algunos de ustedes también.
00:17:11Así que ahí podría ser interesante probar algo diferente y mientras ese framework sea fácil de usar con grandes modelos de lenguaje,
00:17:19haya suficientes recursos para enseñarle al gran modelo de lenguaje cómo usarlo,
00:17:24que por supuesto es algo en lo que parecen enfocarse y parece ser una prioridad,
00:17:29eso me parece bien.
00:17:30Así que eso definitivamente podría darles una oportunidad válida de éxito.
00:17:35Obviamente será difícil.
00:17:36Pero bueno,
00:17:37ese siempre habría sido el caso,
00:17:39supongo,
00:17:40así que veo posibilidades,
00:17:41pero por supuesto,
00:17:42es un mercado saturado,
00:17:44por decirlo de alguna manera.
00:17:45Ahora bien,
00:17:46lo importante es que Remix pertenece a Shopify desde 2022..
00:17:52Shopify compró Remix,
00:17:53podríamos decir,
00:17:54así que el equipo de Remix pasó a formar parte de Shopify.
00:17:58Ahora bien,
00:17:59Shopify claramente está interesada en tener un framework que se mantenga activamente y que se use al menos dentro de Shopify,
00:18:07y con eso no me refiero solo dentro de la empresa para sus páginas de marketing y branding de Shopify.
00:18:14Me refiero a las tiendas de Shopify.
00:18:16Es definitivamente posible que el objetivo sea tener Remix como una opción para los vendedores de Shopify que quieran construir sus propias tiendas sobre Shopify y que quieran una forma fácil de ajustar esas tiendas y construir escaparates personalizados o páginas que compongan la tienda en general,
00:18:36y ellos por supuesto están teniendo un framework que es fácil de usar y fácil de usar con grandes modelos de lenguaje,
00:18:44lo cual podría ser enorme.
00:18:46Todavía no es una garantía,
00:18:48por supuesto,
00:18:49pero tener a Shopify detrás de Remix,
00:18:51desde luego,
00:18:52vale mucho,
00:18:53yo diría,
00:18:53y por lo tanto soy bastante positivo sobre el futuro de Remix,
00:18:57también,
00:18:58por supuesto,
00:18:59porque tienen una comunidad tal vez pequeña pero muy entusiasta,
00:19:03hasta donde puedo ver.
00:19:05Tienen un historial increíble,
00:19:07obviamente,
00:19:07habiendo desarrollado React Router y demás.
00:19:10Así que sí,
00:19:11estoy súper emocionado de ver lo que obtendremos.
00:19:14Estoy emocionado de finalmente usarlo yo mismo porque ahora mismo eso no es realmente posible,
00:19:20y estos son mis pensamientos al respecto.
00:19:23Así que como siempre,
00:19:25déjenme saber cuáles son sus pensamientos si creen que lo necesitamos y si tendrán éxito,
00:19:30y vean las cuatro horas completas de la conferencia si están interesados y quieren aprender más..

Key Takeaway

Remix v3 es un nuevo framework JavaScript full-stack independiente de React que prioriza simplicidad, primitivas web nativas y compatibilidad con IA, respaldado por Shopify y los creadores de React Router.

Highlights

Remix v3 es un framework full-stack completamente nuevo e independiente de React, desarrollado desde cero por los creadores de React Router

Utiliza actualización manual de UI mediante 'this.update' en lugar de re-renderizado automático como React, dando control total al desarrollador

Está diseñado para ser simple y fácil de usar por modelos de lenguaje grandes (LLMs), con documentación optimizada para IA

Aprovecha primitivas web nativas del navegador en lugar de crear abstracciones propias, usando eventos nativos y señales de aborto

Shopify adquirió Remix en 2022, lo que podría impulsar su adopción en tiendas de comercio electrónico

Ofrece dos tipos de componentes: sin estado (retornan JSX) y con estado (retornan función que retorna JSX)

Es un framework full-stack con capacidades de servidor, enrutamiento avanzado e hidratación de componentes

Timeline

Introducción y contexto de Remix v3

Se anuncia un nuevo framework JavaScript full-stack creado por Ryan Florence y Michael Jackson, los autores originales de React Router y creadores de Remix. El presentador explica que aunque lleva el nombre Remix v3, es un framework completamente nuevo e independiente de React, a diferencia de las versiones anteriores que eran meta-frameworks de React (alternativas a Next.js). Se menciona que Remix v2 se fusionó con React Router en 2024, permitiendo usar React Router tanto como biblioteca de enrutamiento simple o en modo framework full-stack. Este nuevo Remix v3 representa la visión completa de sus creadores sobre cómo debería ser un framework JavaScript moderno, resolviendo problemas que identificaron en el ecosistema actual.

Característica principal: actualización manual con this.update

Se presenta la característica más controversial del framework: el uso de 'this.update' para actualizar la interfaz manualmente. A diferencia de React, Vue o Angular donde el framework determina automáticamente cuándo actualizar la UI, en Remix v3 el desarrollador debe gestionar el estado en variables estándar y llamar explícitamente a 'this.update' cuando desea que la interfaz se re-renderice. Esto implica el regreso del uso de la palabra clave 'this', algo poco común en JavaScript moderno, especialmente en React donde nunca se utiliza. El presentador explica que aunque las funciones de componente se mantienen (no clases), se verán diferentes y no habrá hooks como useState. Este enfoque busca dar control total al desarrollador sobre cuándo ocurren las actualizaciones de UI.

Razones detrás del diseño: control y simplicidad

Se explican las motivaciones para este enfoque de actualización manual y el uso de primitivas this. El framework expone pocas APIs a través de 'this', manteniendo todo simple y enfocado. Un objetivo declarado explícitamente es que el framework sea fácil de usar por modelos de lenguaje grandes (LLMs), ya que ningún LLM existente fue entrenado en esta base de código. Dado que la mayoría de ejemplos de código frontend son React (especialmente con shadcn), necesitan que la documentación y ejemplos puedan alimentarse fácilmente al contexto de un chat con IA. El enfoque manual de actualización también resuelve problemas de complejidad en React moderno, donde con múltiples hooks no siempre queda claro por qué algo se actualiza o no, especialmente en aplicaciones complejas.

Filosofía: uso de primitivas web nativas

Remix v3 se basa fuertemente en características integradas en navegadores modernos y el backend, utilizando 'primitivas web' en lugar de crear abstracciones propias. Aprovechan eventos nativos del DOM y la capacidad de despachar eventos personalizados, así como señales de aborto para comunicar el desmontaje de componentes y detener event listeners automáticamente. Los creadores argumentan que los desarrolladores web no se han mantenido al día con las capacidades modernas de los navegadores, y que muchas funcionalidades han estado disponibles durante años sin ser ampliamente utilizadas. El objetivo es reducir la necesidad de bibliotecas de terceros y mantener todo simple usando lo que ya está disponible nativamente. A pesar de usar primitivas del DOM, los desarrolladores aún crean componentes con funciones y JSX, no con createElement directamente.

Arquitectura de componentes: con estado vs sin estado

Se describen los dos tipos de componentes en Remix v3, similar a React pre-hooks (circa 2017). Las funciones que retornan JSX directamente son componentes sin estado: no pueden llamar this.update y solo se re-ejecutan si el componente padre se re-renderiza o cambian las props. Para crear un componente con estado, la función debe retornar otra función que a su vez retorna el JSX. Solo en estos componentes con estado se puede llamar a this.update para provocar re-renderizado, ejecutando nuevamente la función interna. Esta diferenciación es muy simple y clara comparada con los hooks de React. No hay gestión especial de estado como useState, solo variables regulares. Este diseño permite una API más ligera sin la complejidad de los hooks, mientras mantiene la familiaridad de trabajar con funciones y JSX.

Capacidades full-stack y componentes de servidor

Remix v3 no es solo frontend sino un framework full-stack completo que incluye backend. Viene con un router poderoso (aprovechando la experiencia de 10 años construyendo React Router) y capacidades para retornar JSX e hidratar componentes en el servidor. Ofrecen su propia alternativa a los React Server Components, más simple, que permite retornar componentes actualizados después de ser servidos, volviendo a obtener partes del DOM del servidor. Por ejemplo, al eliminar un elemento, se puede enviar una solicitud desde el cliente al servidor y recibir HTML que se hidrata nuevamente para actualizar el DOM. También incluirán una biblioteca de componentes para facilitar la construcción de formularios complejos. El objetivo es proporcionar todas las herramientas necesarias para construir aplicaciones full-stack modernas y rápidas similares a SPAs, como Next.js o TanStack Start, pero de manera más simple.

Análisis: ¿Es necesario y tendrá éxito?

El presentador evalúa si necesitamos otro framework JavaScript y sus posibilidades de éxito. Aunque ya existen muchos frameworks, argumenta que un enfoque completamente nuevo con actualización manual y primitivas nativas vale la pena intentarlo, ofreciendo una alternativa más simple a React que se ha vuelto complejo. Sobre el éxito, reconoce desafíos: los LLMs actuales recomendarán React por defecto, pero desarrolladores experimentados podrían preferir Remix por una base de código más simple, especialmente si hay suficientes recursos para enseñar a las IAs a usarlo. Un factor crucial es que Shopify adquirió Remix en 2022, lo que podría impulsarlo como opción para vendedores de Shopify que construyen tiendas personalizadas, aprovechando su facilidad de uso con LLMs. Con el respaldo de Shopify, una comunidad entusiasta y el historial de React Router, el presentador es optimista sobre el futuro de Remix v3.

Community Posts

View all posts