Lovable deja Next.js y lleva su web a TanStack Start sobre Cloudflare Workers

Red edge global con miles de aplicaciones ejecutándose en aislamientos ligeros

Lovable, la plataforma sueca que genera aplicaciones web con inteligencia artificial, ha dejado Next.js y Vercel para su propia web y ha pasado a TanStack Start sobre Cloudflare Workers, el mismo sistema con el que sirve las aplicaciones que crean sus usuarios. Su cofundador y director de tecnología, Fabian Hedin, explicó el cambio en Cloudflare Connect, la conferencia que Cloudflare celebró del 19 al 21 de octubre en San Francisco, y la compañía lo ha detallado en su blog técnico. Según la publicación con la que Cloudflare difundió la charla, en la plataforma se han creado ya 70 millones de aplicaciones generadas por IA.

Las claves de la migración de Lovable a Cloudflare Workers en 30 segundos

  • Lovable ha migrado su web de Next.js en Vercel a TanStack Start en Cloudflare Workers, el mismo entorno que usan las apps de sus clientes.
  • Cada aplicación publicada es un worker que se arranca bajo demanda en un aislamiento V8 propio.
  • La migración duró unos seis meses y redujo un 49 % el tiempo mediano de primera respuesta.
  • Hubo un incidente de memoria que llevó los errores al 50 % durante 11 minutos.

El cambio tiene dos partes. Desde el 13 de mayo, todos los proyectos nuevos de Lovable se generan con TanStack Start, un framework de React con renderizado en el servidor, y se publican como workers en el borde de la red de Cloudflare, cuando antes eran aplicaciones estáticas con renderizado solo en el navegador servidas desde Cloudflare Pages. Y en agosto la empresa completó la migración de lovable.dev, su propia aplicación, que dejó de ser un caso aparte para funcionar como una app más de la plataforma.

Millones de apps bajo demanda sobre aislamientos V8

El reto técnico de Lovable es servir muchísimas aplicaciones con poco tráfico cada una sin mantenerlas todas encendidas. Según su blog técnico, cada aplicación publicada se empaqueta como un worker para workerd, el motor de ejecución de Cloudflare. Un worker de entrada recibe la petición, carga el código de la aplicación correspondiente y la despacha a un worker creado dinámicamente, que se ejecuta en su propio aislamiento V8, el mismo tipo de entorno aislado que usa el motor de JavaScript de Chrome. Es un modelo distinto al de los contenedores o las máquinas virtuales: arrancar un aislamiento cuesta entre unos 4 milisegundos y aproximadamente un segundo, según el tamaño del paquete de código.

Ese margen explica por qué el tamaño de las aplicaciones importa tanto. Lovable cuenta que los workers tienen un límite de 128 MB de memoria y que buena parte del trabajo de la migración consistió en adelgazar el código del servidor: retiraron del paquete del servidor herramientas que solo se usan en el navegador, como el compilador de TypeScript, Prettier o el resaltador de sintaxis, y ahorraron unos 9 MB de código y unos 18 MB de memoria por worker. Para las apps de sus usuarios, el cambio a renderizado en el servidor tiene además un efecto en buscadores. Lovable asegura que las aplicaciones con prerrenderizado han ganado un 2,9 % de tráfico orgánico y han casi duplicado, con un 98,5 % más, el tráfico procedente de herramientas de IA como ChatGPT o Perplexity.

Por qué TanStack Start y no Next.js

Hedin explicó en el blog de Lovable en junio que eligieron TanStack Start porque mantiene a la plataforma dentro del ecosistema de React, es abierto y portable, permite renderizar en el servidor para que los buscadores indexen las páginas y tiene un tipado fuerte que ayuda a la IA a generar código correcto. Cada ruta puede renderizarse en el servidor, generarse como estática o ejecutarse en el navegador, y las funciones de servidor de TanStack sustituyen a las funciones edge que usaban antes. Supabase sigue encargándose de la base de datos, la autenticación y el almacenamiento.

Alexander Lebedev, el ingeniero que lideró la migración de lovable.dev, añade en su artículo de agosto razones menos técnicas. Considera que Next.js tiene abstracciones confusas, como los componentes y las acciones de servidor, y que los agentes de IA daban consejos desactualizados porque las versiones del framework cambian mucho entre sí. La web anterior en Vercel sufría además diferencias entre las compilaciones locales y las de producción y cargas lentas en algunas regiones. Con el nuevo entorno, el arranque en desarrollo pasó de unos 70 segundos y 8 GB de RAM a unos 10 segundos y 1,5 GB en su equipo, y la compilación en integración continua bajó de más de 12 minutos a entre 6 y 9. No es un cambio aislado: Cloudflare compró en junio VoidZero, la empresa detrás de Vite, la herramienta que TanStack Start usa como servidor de desarrollo.

Dogfooding: Lovable como una app más de Lovable

La razón principal de la migración fue usar su propio producto como cualquier cliente, lo que en el sector se conoce como dogfooding. lovable.dev recibe más de 42 millones de visitantes únicos al mes, tiene unas 400 rutas y más de 900.000 líneas de código, y hoy se sirve igual que el resto de aplicaciones de la plataforma, con menos de 200 líneas específicas para ella. El proceso duró unos seis meses, con unos dos de despliegue para usuarios externos. Durante ese tiempo, un worker hacía de proxy y decidía por ruta y por usuario si la petición iba a la versión antigua en Vercel o a la nueva, y cada grupo de rutas pasó por pruebas internas, el 1 % y después el 100 % de los usuarios. Los agentes de IA prepararon buena parte de los cambios, revisados después de forma automática.

No fue un proceso limpio, y la propia empresa lo cuenta. Al ampliar el despliegue del panel de control del 5 % al 20 % de usuarios un viernes, la tasa de errores pasó del 0,1 % a cerca del 50 % en minutos. El incidente duró 11 minutos y se resolvió volviendo atrás. La causa fue un cambio ajeno en un fichero JSON estático que empujó a los workers por encima de su límite de memoria. También reconocen que TanStack Start exigió mucha configuración del empaquetador para una aplicación de ese tamaño y que el percentil 90 del tiempo de respuesta llegó a ser hasta el doble de lento al principio, aunque ahora es un 16 % mejor que con Next.js. La mediana del tiempo hasta el primer byte es un 49 % menor. Las cifras son de la propia Lovable, que ha dicho que podría permitir más adelante importar y editar aplicaciones hechas con Next.js. Es una lección útil para cualquier plataforma, porque los errores de una app generada por IA, como recuerdan los riesgos de seguridad del vibe coding, también dependen de dónde y cómo se ejecuta.

Preguntas frecuentes

¿Por qué Lovable ha dejado Next.js?

Para servir su propia web igual que las apps de sus usuarios, en Cloudflare Workers con TanStack Start, y por problemas con Next.js como sus abstracciones complejas, las compilaciones lentas y los consejos desactualizados que daban los agentes de IA.

¿Qué es TanStack Start?

Un framework de React con renderizado en el servidor, funciones de servidor y tipado fuerte, que usa Vite y se puede desplegar en Cloudflare Workers.

¿Cómo sirve Lovable millones de apps sin tenerlas encendidas?

Cada app es un worker que se carga bajo demanda en un aislamiento V8, cuyo arranque cuesta entre unos 4 milisegundos y un segundo según el tamaño del código.

¿Han mejorado las apps de los usuarios?

Según Lovable, las apps nuevas se renderizan en el servidor, y las que usan prerrenderizado han ganado un 2,9 % de tráfico orgánico y un 98,5 % más de tráfico desde herramientas de IA.

Fuentes:

encuentra artículos

newsletter

Recibe toda la actualidad del sector tech y cloud en tu email de la mano de RevistaCloud.com.

Suscripción boletín

LO ÚLTIMO