El problema fundamental que aborda este estudio es la prevalencia de decisiones de diseño de software basadas en "sensaciones" o "vibras" en la comunidad de desarrollo web, en lugar de en evidencia empírica. Históricamente, la elección de frameworks JavaScript ha estado influenciada por la experiencia del desarrollador (DX) y justificaciones post-hoc, como la supuesta velocidad del Virtual DOM. Sin embargo, en la "era agéntica" donde los Large Language Models (LLMs) generan código, la restricción de DX disminuye, lo que debería abrir la puerta a una evaluación más objetiva.

Este trabajo propone que, incluso con agentes de codificación, la necesidad de benchmarks rigurosos es más crítica que nunca. La hipótesis es que las diferencias en la eficiencia y el rendimiento de los frameworks, cuando son implementados por agentes, pueden ser cuantificadas y que estas métricas deberían guiar las decisiones de arquitectura. La relevancia actual radica en la optimización de costos y recursos computacionales asociados a la generación de código por IA, y en la búsqueda de una base más sólida para la selección de tecnologías en un panorama de desarrollo en constante evolución.

Arquitectura del Sistema

El benchmark se estructura alrededor de la construcción de una aplicación Pokémon no trivial utilizando la PokéAPI. El sistema de prueba emplea agentes de codificación (Claude Opus 5.5) instruidos para construir la aplicación con un framework JavaScript específico (ej. Next.js, Nuxt, SvelteKit, Hono+htmx, Angular, Astro, Qwik, SolidStart, TanStack Start, React Router, Gracile+Lit, Vanilla JS con Vite). Cada agente opera en un entorno aislado (sandbox) sin conocimiento previo de las pruebas de rendimiento.

La arquitectura de evaluación incluye un conjunto de pruebas de conformidad para asegurar que la aplicación generada cumple con las especificaciones funcionales, evitando "trampas" del agente. Las métricas clave recolectadas son el tiempo de desarrollo (wall-clock time), el costo en tokens de LLM, las líneas de código generadas y las puntuaciones de Lighthouse (Performance, Accessibility, CLS, JavaScript bytes, Total Blocking Time, Largest Contentful Paint). Se realizan múltiples iteraciones (5 por framework, excepto Angular con 3) para mitigar la naturaleza estocástica de los LLMs y las variaciones de Lighthouse. La distinción entre Single Page Applications (SPAs) y Multi Page Applications (MPAs) es un factor implícito en las métricas de rendimiento, con una inclinación natural de Lighthouse a favorecer las MPAs en ciertas métricas como LCP.

Flujo de Evaluación de Frameworks por Agente

  1. 1 Diseño de App Especificación de una aplicación Pokémon no trivial con PokéAPI.
  2. 2 Instrucción a Agente Agente de codificación (Claude Opus 5.5) recibe especificación y framework.
  3. 3 Generación de Código Agente construye la aplicación en un sandbox, registrando tokens y tiempo.
  4. 4 Pruebas de Conformidad Ejecución de suite de pruebas para validar funcionalidad y evitar 'trampas'.
  5. 5 Evaluación Lighthouse Medición de Performance, Accessibility, CLS, TBT, LCP, JavaScript bytes.
  6. 6 Recolección de Métricas Registro de costo, tiempo, LoC y puntuaciones de Lighthouse.
  7. 7 Análisis de Resultados Comparación de medianas de múltiples ejecuciones por framework.
CapaTecnologíaJustificación
compute Claude Opus 5.5 Agente de codificación principal para generar las aplicaciones web. Alto nivel de esfuerzo ('high effort'), sin conocimiento de pruebas de Lighthouse.
data-processing PokéAPI Fuente de datos externa para la aplicación de prueba.
observability Lighthouse Herramienta de auditoría para medir rendimiento, accesibilidad y calidad web. Medición de Performance, Accessibility, CLS, TBT, LCP, JavaScript bytes.
orchestration Vite Herramienta de construcción y servidor de desarrollo para la variante 'Vanilla' y subyacente a otros frameworks.
compute Next.js Meta-framework React para construcción de aplicaciones web. Versión 16.4.3, React 19.3.1.
compute Nuxt Meta-framework Vue para construcción de aplicaciones web. Versión 4.6.2, Vue 3.5.44.
compute SvelteKit Meta-framework Svelte para construcción de aplicaciones web. Versión 3.1.0, Svelte 5.57.2.
compute Hono+htmx Combinación de framework web ligero (Hono) y librería para HTML over the wire (htmx). vs Rails, Django Hono 4.13.14, htmx.org 2.0.11.
compute Angular Framework de desarrollo de aplicaciones web. @angular/core 22.2.3.
compute Astro Framework web para construcción de sitios orientados a contenido, con enfoque en islas de interactividad. Astro 7.4.2.
compute Qwik Framework web con enfoque en resumability y carga perezosa. @builder.io/qwik-city 1.20.2/1.20.3, @builder.io/qwik 1.20.2/1.20.3.
compute SolidStart Meta-framework SolidJS. @solidjs/start 2.1.0, solid-js 1.9.17.
compute TanStack Start Meta-framework basado en TanStack Router y React. @tanstack/react-start 1.169.4, react 19.3.1.
compute React Router Librería de enrutamiento para React. react-router 8.5.0, react 19.3.1.
compute Gracile+Lit Combinación de meta-framework (Gracile) y librería para Web Components (Lit). @gracile/gracile 0.11.0, lit 3.3.3.

Trade-offs

Ganancias
  • ▲ Costo de tokens y tiempo de desarrollo
  • ▲ Mantenibilidad (menor LoC)
  • ▲ Rendimiento web (LCP, TBT, JS bytes) en MPAs
Costes
  • △ Flexibilidad de arquitectura (SSR vs CSR)
  • △ Consistencia de resultados debido a estocasticidad de LLMs y Lighthouse
  • △ Saturación de métricas básicas de Lighthouse (Performance, Accessibility, CLS)

Fundamentos Teóricos

Este estudio se alinea con la disciplina de la ingeniería de software empírica, que busca validar hipótesis y comparar tecnologías a través de experimentos controlados y mediciones cuantitativas. Conceptos como la "ingeniería de rendimiento" y la "evaluación comparativa de sistemas" son centrales, donde la recolección de métricas objetivas es fundamental para la toma de decisiones. Aunque no cita directamente un paper fundacional, el enfoque de "menos hype, más stack" resuena con la crítica a la "programación como cultura pop" de Baldur Bjarnason y la "década perdida del frontend" de Alex Russell, que abogan por un retorno a la rigurosidad y la evidencia en la selección de herramientas.

La variabilidad observada en los resultados, especialmente la naturaleza estocástica de los LLMs, subraya la importancia de la estadística experimental y la replicación para obtener conclusiones robustas, un principio fundamental en cualquier investigación científica. La evaluación de la "mantenibilidad" a través de las líneas de código se relaciona con métricas de complejidad de software propuestas por autores como McCabe (complejidad ciclomática) o Halstead (métricas de complejidad de software), aunque el estudio opta por una métrica más directa y fácilmente cuantificable para la era agéntica.