- vinext es un framework compatible con Next.js creado en una semana por una IA y un solo ingeniero, basado en Vite y desplegable en Cloudflare Workers con un solo comando
- La velocidad de build es hasta 4.4 veces mayor y el tamaño del bundle del cliente es 57% menor, mientras mantiene exactamente la misma estructura de directorios y configuración que un proyecto existente de Next.js
- Diseñado para Cloudflare Workers, ofrece funciones de renderizado previo basado en tráfico, como caché ISR basada en KV y Traffic-aware Pre-Rendering
- La mayor parte del código fue escrita por IA, y la calidad se aseguró con más de 1,700 pruebas y revisión de código automatizada
- Este proyecto es un caso que demuestra que la IA ya llegó a un nivel capaz de reimplementar frameworks complejos, y sugiere posibles cambios futuros en la estructura del desarrollo de software
Límites de despliegue de Next.js y detección del problema
- Next.js es uno de los frameworks más representativos basados en React, pero al desplegarse en entornos serverless requiere un proceso complejo de conversión de la salida del build
- Para desplegar en Cloudflare, Netlify, AWS Lambda y otros, es necesario reconstruir el resultado del build de Turbopack de Next.js según cada plataforma
- OpenNext intentó resolver esto, pero debido a la limitación estructural de tener que hacer ingeniería inversa de la salida del build de Next.js, surgieron inestabilidades entre versiones
- Aunque la API de adaptadores de Next.js está en desarrollo, existe la limitación de que la estructura del servidor de desarrollo, exclusiva de Node.js, dificulta probar APIs específicas de cada plataforma
Estructura y características de vinext
- vinext es un framework alternativo que reimplementa directamente la API de Next.js sobre Vite
- Después de
npm install vinext, basta con reemplazar el comando next por vinext para ejecutar el proyecto existente sin cambios
- Los comandos
vinext dev, vinext build y vinext deploy unifican desarrollo, build y despliegue
- Funciones principales de Next.js como routing, renderizado del servidor, React Server Components, server actions, caché y middleware fueron implementadas como plugins de Vite
- Usa la Vite Environment API para generar resultados de build independientes de la plataforma
Benchmarks de rendimiento
- Comparado con Next.js 16 usando la misma app con 33 rutas
- Tiempo de build: vinext (Vite 8/Rolldown) 1.67 segundos → 4.4 veces más rápido que Next.js
- Tamaño del bundle del cliente: 72.9KB → 57% menor que Next.js
- Las pruebas se realizaron en GitHub CI y solo midieron la velocidad de compilación y bundling
- Rolldown, el bundler basado en Rust de Vite 8, contribuyó a mejorar el rendimiento del build
Despliegue en Cloudflare Workers
- El comando
vinext deploy realiza build y despliegue automáticos
- Soporta tanto App Router como Pages Router, e incluye hidratación del cliente y manejo de estado
- Incluye ISR (Incremental Static Regeneration) de forma nativa mediante un cache handler de Cloudflare KV
- El backend de caché puede reemplazarse y ampliarse a R2 o Cache API
- Se publicaron ejemplos reales en funcionamiento, como App Router Playground y un clon de Hacker News
Traffic-aware Pre-Rendering (TPR)
- Mejora la ineficiencia del renderizado previo estático basado en
generateStaticParams() del Next.js tradicional
- Aprovecha los datos de tráfico de Cloudflare para pre-renderizar solo las páginas más visitadas en las últimas 24 horas
- Ejemplo: de 100,000 páginas, solo 184 (el 90% del tráfico total) se renderizan en 8.3 segundos
- El resto de las páginas usa SSR al momento de la solicitud y luego caché ISR, actualizándose automáticamente en cada despliegue según el patrón de tráfico
Proceso de desarrollo basado en IA
- La mayor parte del código del proyecto fue escrita por IA, con un costo total aproximado de $1,100
- Superó 1,700 pruebas de Vitest y 380 pruebas de Playwright, logrando 94% de compatibilidad con la API de Next.js
- Procedimiento de desarrollo
- La IA implementa funciones y escribe pruebas → ejecuta las pruebas → si fallan, recibe retroalimentación del error e intenta de nuevo
- El agente de IA también realiza automáticamente revisión y corrección del código, mientras la persona solo gestiona la dirección y la estructura
- Se realizaron más de 800 sesiones en OpenCode, usando modelos de Claude
Factores que lo hicieron posible para la IA
- Gracias a la documentación clara de Next.js y su enorme suite de pruebas, la IA pudo aprender con precisión
- La estructura de build estable de Vite sirvió como base
- Los modelos de IA más recientes ya alcanzaron un nivel capaz de mantener coherencia estructural en codebases grandes e inferir interacciones entre módulos
Implicaciones para el desarrollo de software
- La estructura tradicional de frameworks en múltiples capas era el resultado de compensar los límites cognitivos humanos
- Como la IA puede entender el sistema completo en contexto y escribir código directamente, disminuye la necesidad de capas intermedias de abstracción
- vinext es un caso que prueba que la IA puede completar frameworks complejos usando solo especificaciones y herramientas base
Open source y colaboración
- Aproximadamente el 95% de vinext consiste en código de Vite no dependiente de Cloudflare, por lo que también puede aplicarse a otras plataformas de hosting
- Se logró implementar un PoC en Vercel en solo 30 minutos
- Está publicado como open source y se reciben con gusto PRs de otras plataformas y nuevos targets de despliegue
Estado experimental y uso real
- vinext sigue en etapa experimental, y la validación con tráfico a gran escala aún no está completa
- National Design Studio ya lo está aplicando en el sitio web gubernamental CIO.gov, donde se confirmaron mejoras en tiempo de build y tamaño del bundle
- El README especifica las funciones no soportadas y las limitaciones conocidas
Cómo usarlo
- A través de Agent Skill, se ofrece soporte de migración automática en herramientas de IA como Claude Code y Cursor
npx skills add cloudflare/vinext → conversión con el comando “migrate this project to vinext”
- Manualmente, puede ejecutarse con
npx vinext init, vinext dev y vinext deploy
- El código fuente está disponible en GitHub en cloudflare/vinext
Agradecimientos y tecnologías base
- Gracias al apoyo del equipo de Vite y a
@vitejs/plugin-rsc, fue posible implementar React Server Components
- La documentación y suite de pruebas del equipo de Next.js fueron una base clave para el éxito del proyecto
1 comentarios
Opiniones de Hacker News
Hace apenas un mes todavía se escuchaba eso de “muéstrame aunque sea un solo caso de IA creando software de nivel comercial”, pero ahora Cloudflare ya publicó varios ejemplos, y ayer incluso Ladybird fue porteado a Rust con IA
El punto en común de estos casos es que cuentan con una suite de pruebas bien armada, lo que simplificó el trabajo
Tal vez gracias a la IA vuelva a resurgir el desarrollo guiado por pruebas (TDD)
Me gusta muchísimo Next, pero también adoro Vite
Pero siento que el equipo de Next se enfoca en funciones para solo el 0.1% de los usuarios e ignora al 99.9% restante
Este fork de Cloudflare parece que podría resolver esa frustración. La mejora de rendimiento era algo que la comunidad de Next llevaba mucho tiempo pidiendo, pero el equipo de Next lo ignoró, y Cloudflare está intentando solucionarlo
Me gusta que Vite ofrezca una capa base mucho mejor que Next, manteniendo a la vez las funciones de Next
Ojalá este fork tenga éxito y podamos usarlo también en la empresa
Este caso muestra muy bien los incentivos del open source en la era de la IA
Cuanto mejor estén hechos los documentos y más claramente definidos estén los contratos, más fácil será para otros replicarlo
Si Cloudflare no hubiera aprovechado las pruebas de Next, este resultado habría sido imposible
Next fue creciendo de forma gradual y se volvió complejo, pero un framework nuevo puede simplificar los componentes de servidor desde el principio
Sorprende que ya se esté usando incluso en sitios del gobierno de EE. UU.
Vercel en parte se buscó esto, pero esta tendencia podría ser una amenaza para proyectos open source pequeños
Tengo mis dudas de que se pueda decir que lo “reimplementaron” si ni siquiera llega al nivel de “Hello world”
Además, si heredó tal cual la suite de pruebas del original, y si el original estaba incluido en los datos de entrenamiento, me cuesta llamarlo “from scratch”
(Después citó como ejemplo una frase con copyright, pero fue omitida)
Lo interesante es que hace un mes Cloudflare adquirió Astro
Si algo así puede reemplazarse fácilmente con IA, ¿por qué pagar tanto por Astro?
Probablemente a nivel organizacional todavía consideren importante asegurar la visión y el liderazgo de un framework
Como Next.js está atado a Vercel, es muy probable que Cloudflare intente guiar a los clientes para que migren de Next a Astro de forma natural
Nosotros usamos Astro para un sistema interno de documentación, y para ese uso es excelente
Next.js tuvo antes una vulnerabilidad de ejecución remota de código (RCE)
Así que por un buen tiempo no pienso usar una versión hecha por IA
Si la IA genera miles de líneas de código, este tipo de bugs puede esconderse con más facilidad
Este proyecto es el experimento con IA más interesante que he visto hasta ahora
Si miras el codebase de Next.js, es enorme, pero esta implementación sorprende porque tiene una centésima parte del código
Me pregunto si realmente maneja todos los casos límite, o si simplemente pasa las pruebas
Por ejemplo, si comparas la implementación de form en Next y
la implementación de form en Vinext, son completamente distintas
Aun así, es un intento bastante impresionante
Todavía está en una etapa temprana, así que puede haber problemas que no estén incluidos en las pruebas
La razón de que haya mucho menos código es que está construido sobre Vite y el plugin React RSC
Soy escéptico con eso de “reimplementamos X con IA y fue facilísimo”
Puede que falten los detalles y la historia de corrección de bugs
Si pasa perfectamente todas las pruebas, se lo reconozco, pero si no, me cuesta creerlo
No estoy de acuerdo con la frase “las abstracciones del software fueron creadas por los humanos para soportar la complejidad”
Las abstracciones son un medio para captar la esencia de la realidad y aumentar la reutilización
Además, “abstracción” y “capa” no son lo mismo. Una capa se parece más a una separación de responsabilidades, y puede verse como una forma de abstracción
Me parece interesante que “el costo total haya sido de alrededor de $1,100 en tokens”