En la actualidad, la evolución de los frameworks de desarrollo web ha dado paso a múltiples opciones, cada una con sus propias promesas de rapidez, eficiencia y facilidad de uso. Sin embargo, a menudo estas afirmaciones se basan en impresiones o «vibraciones» más que en datos concretos. Alex Russell y Baldur Bjarnason han criticado esta tendencia, describiendo un periodo en la programación web donde la falta de evidencia ha dominado las decisiones de los desarrolladores. En este contexto, la investigación sobre la efectividad de varios frameworks se vuelve esencial para destacar patrones de rendimiento reales.
Recientemente, se llevó a cabo un benchmark que consiste en construir una aplicación sencilla utilizando la PokéAPI, un recurso popular en el desarrollo web. El enfoque fue claro: utilizar diferentes frameworks y evaluar su rendimiento en función de varios criterios, incluyendo tiempo de desarrollo, tokens consumidos, líneas de código y puntuaciones de rendimiento y accesibilidad, utilizando herramientas como Lighthouse.
Metodología del Benchmark
El experimento se diseñó de manera que cada framework utilizara su configuración oficial y se ejecutara bajo condiciones controladas. Aunque la aplicación construida era relativamente simple, representativa de un sitio más estático que dinámico, se buscó proporcionar una base de comparación justa entre diferentes tecnologías.
Los resultados se midieron en varias dimensiones, incluyendo el coste de desarrollo, la calidad y la mantenibilidad. Cada framework fue evaluado en varias corridas, lo que permitió obtener un promedio más confiable a pesar de la naturaleza estocástica de los generadores de lenguaje.
Coste de Desarrollo
Los datos obtenidos mostraron que la construcción de la aplicación con Hono+htmx y Astro fue notablemente más económica, con costes de aproximadamente $2.67 y $2.76, respectivamente. En el extremo opuesto, Angular destacó como la opción más costosa, alcanzando casi $5.00. Estos resultados subrayan la variabilidad del coste depende en gran medida del framework utilizado y su eficacia en la ejecución del código.
Tiempo de Desarrollo
El tiempo promedio de desarrollo también varió significativamente. Astro y Hono+htmx lideraron en términos de rapidez, con tiempos de aproximadamente 8.2 y 8.6 minutos, mientras que Angular llevó mucho más tiempo, alcanzando los 17.2 minutos. Este dato resalta la eficiencia de ciertos frameworks en la creación de aplicaciones sencillas.
Calidad y Mantenibilidad
Las mediciones de calidad se llevaron a cabo utilizando métricas de rendimiento y accesibilidad. Aquí, muchos de los frameworks mostraron resultados sobresalientes, con puntuaciones de accesibilidad que rondaron el 100%. Sin embargo, lo que realmente llamó la atención fue la cantidad de bytes de JavaScript transferidos por cada framework. Por ejemplo, Astro transmitió solo 0 KiB, contrastando con React Router, que envió 115 KiB, evidenciando así la disparidad en la carga y eficiencia entre diferentes opciones.
En términos de mantenibilidad, se evaluaron las líneas de código generadas por cada framework. Hono+htmx y Nuxt demostraron ser los más concisos, con 1370 y 1415 líneas de código, respectivamente, mientras que Angular presentó un considerable total de 2009 líneas. Esta métrica es crucial, ya que una menor cantidad de código generalmente implica menores costos de mantenimiento.
Conclusión
Los resultados de este benchmark resaltan la importancia de tomar decisiones informadas sobre los frameworks de desarrollo web, en vez de basarse únicamente en percepciones o tendencias populares. Si bien algunos frameworks pueden parecer atractivos en teoría, es fundamental considerar los datos objetivos para guiar la elección. En un entorno donde los desarrolladores cuentan con herramientas cada vez más sofisticadas, como la inteligencia artificial, fomentar una cultura basada en la evidencia puede llevar a soluciones más eficientes y efectivas en el desarrollo de software.
