"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Es Next.js la próxima evolución o simplemente una tendencia pasajera? Un estudio de caso de métricas de Dora

¿Es Next.js la próxima evolución o simplemente una tendencia pasajera? Un estudio de caso de métricas de Dora

Publicado el 2024-11-19
Navegar:125

Next.js es un repositorio que es un marco de JavaScript relativamente reciente pero poderoso que está arrasando en la escena del desarrollo web moderno. Next.js fortalece React con su renderizado del lado del servidor, generación de sitios estáticos y optimización SEO.

A los desarrolladores les encanta su versatilidad y los números hablan por sí solos. En una encuesta reciente, el 60 % de los desarrolladores dijeron que preferían Next.js para crear aplicaciones listas para producción debido a su facilidad de implementación y escalabilidad. Al comparar los tiempos de implementación, Next.js supera consistentemente a React en velocidad y eficiencia, lo que lo convierte en la opción preferida para los desarrolladores que buscan un proceso de compilación fluido.

Este estudio de caso se centra en el repositorio OpenSource Next.js, destacando particularmente su excepcional frecuencia de implementación.

Como desarrolladores que hemos jugado con Next.js para crear sitios dinámicos de comercio electrónico y blogs de inicio rápido, no pudimos evitar preguntarnos: ¿cómo crearon y administraron un repositorio tan legendario con tanta eficiencia? Entonces, investigamos más profundamente usando Middleware Open-Source.

Si está entusiasmado de explorar más a fondo estos conocimientos y conectarse con otros líderes de ingeniería, únase a nosotros en The Middle Out Community o suscríbase a nuestro boletín informativo para obtener información exclusiva. ¡Estudios de casos y más!

Pero primero lo primero. Entendamos qué son las Métricas de Dora.

¿Qué son las métricas de Dora?

Dora Metrics son indicadores clave que muestran la eficiencia con la que avanza un proyecto desde el inicio hasta la producción final en la entrega de software. ¡No dudes en leer nuestro blog detallado sobre Dora Metrics y cómo pueden ayudarte en tus procesos de ingeniería!

  • Frecuencia de implementación: con qué frecuencia el código llega a producción.

  • Tiempo de entrega de cambios: cuánto tiempo tarda una confirmación en activarse.

  • Tiempo medio de restauración (MTTR): tiempo necesario para recuperarse de una falla.

  • Tasa de errores de cambio: cuántas de esas implementaciones rompen algo.

Ahora que todos estamos en la misma página, veamos cómo está a la altura Next.js.

Nuestros hallazgos clave

Next.js: Poner el listón alto con una frecuencia de implementación excepcional

El repositorio OpenSource Next.js destaca por su excepcional frecuencia de implementación, superando con creces los estándares de la industria. Durante los últimos tres meses, el repositorio ha impulsado constantemente un gran volumen de implementaciones, lo que refleja la eficiencia y la destreza de automatización del equipo.

En junio de 2024, hubo 247 implementaciones, seguidas de 261 en julio y la impresionante cifra de 279 en agosto. Estos números resaltan el compromiso del repositorio con la integración continua y el lanzamiento rápido de funciones, lo que lo convierte en un punto de referencia para la frecuencia de implementación en la comunidad de código abierto.

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

¡Eso es casi una implementación cada 3 horas! Esta implementación de alta frecuencia no es sólo para mostrar; mantiene el proyecto evolucionando a una velocidad increíble. ¿Cómo lo hacen? Se destacan un par de factores clave:

  • Canalización de CI/CD automatizada: con la automatización implementada, las implementaciones son rápidas y fluidas, casi como por arte de magia.

  • RP pequeños y frecuentes: al dividir los cambios en solicitudes de extracción pequeñas, pueden fusionarse e implementarse más rápido y con menos riesgo.

  • Resolución rápida de problemas: los errores se solucionan rápidamente y las implementaciones fallidas son raras.

El tiempo de ciclo deja margen de mejora

A pesar de una alta frecuencia de implementación, el repositorio muestra fluctuaciones notables en el tiempo de ciclo, lo que afecta el tiempo de entrega general para los cambios. El tiempo de ciclo incluye todos los RP, mientras que el tiempo de entrega solo incluye los RP con datos de implementación disponibles. En junio de 2024, el tiempo de ciclo promedio fue de alrededor de 3,5 días, aumentó ligeramente a 3,6 días en julio y luego aumentó a 5,3 días en agosto.

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

El tiempo del ciclo ha ido aumentando, pasando de 3,5 a 5,3 días, lo que indica algunos retrasos en el proceso de desarrollo. Identificar cuellos de botella, ya sea en revisiones de código, pruebas o tareas manuales, e implementar pruebas automatizadas o una mejor planificación de sprints podría ayudar a reducir esto.

Otras métricas clave que pueden necesitar algo de trabajo

Tiempo de primera respuesta

En junio de 2024, el tiempo promedio de primera respuesta fue de 1,6 días (38,4 horas), lo que indica un manejo rápido y eficiente de los problemas y las solicitudes de extracción en el repositorio de Next.js. En julio de 2024, este tiempo aumentó ligeramente a 1,8 días (43,2 horas), lo que indica un retraso menor, probablemente debido a un número creciente de problemas o a una menor disponibilidad del equipo.

Sin embargo, en agosto de 2024, hubo un salto significativo a 2,6 días (62,4 horas), lo que sugiere retrasos notables, posiblemente causados ​​por mayores cargas de trabajo, cuellos de botella en las asignaciones de revisores o menos miembros del equipo debido a las vacaciones.

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

Para mejorar el tiempo de primera respuesta, se pueden implementar varias estrategias para abordar el reciente aumento de las demoras. Automatizar las notificaciones de problemas y solicitudes de extracción puede garantizar una asignación más rápida a los revisores, lo que reduce los tiempos de espera.

La introducción de SLA (acuerdos de nivel de servicio) para los tiempos de respuesta podría generar responsabilidad y fomentar una participación más rápida. Además, revisar la asignación de equipos y la distribución de la carga de trabajo podría ayudar a equilibrar las responsabilidades, especialmente durante períodos de alta demanda o disponibilidad reducida del equipo, como las vacaciones.

Fomentar la colaboración interdisciplinaria también podría permitir respuestas más rápidas al distribuir la carga entre el equipo de manera más uniforme. Estos cambios podrían efectivamente reducir los tiempos de respuesta y mantener la eficiencia.

Plazo de entrega de cambios

De junio a agosto de 2024, el tiempo de espera para los cambios en el repositorio Next.js aumentó gradualmente de 3,3 días a 4,1 días. En junio, el plazo de entrega relativamente rápido de 3,3 días reflejó un flujo de trabajo eficiente con una coordinación fluida. En julio, esto aumentó ligeramente a 3,6 días, lo que sugiere ineficiencias menores, posiblemente debido a revisiones de código más largas o tareas más complejas.

Sin embargo, en agosto, el tiempo de entrega alcanzó los 4,1 días, lo que indica retrasos más significativos probablemente causados ​​por mayores cargas de trabajo, cuellos de botella en las revisiones o capacidad reducida del equipo debido a las vacaciones. Esta tendencia sugiere la necesidad de optimizar los procesos y evitar mayores desaceleraciones.

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

¿Razones?

  1. Tiempos de revisión extendidos. Por ejemplo, PR #67498

  2. Tareas complejas que implican un escrutinio y pruebas profundos. PR #67391

  3. Las fluctuaciones en los tiempos de primera respuesta (de 1,6 días a 2,6 días) provocan tiempos de inicio desiguales para las revisiones, lo que retrasa el progreso.

Naturaleza del trabajo

El repositorio de OpenSource Next.js incluye una variedad de actividades, que van desde actualizaciones de funciones y eliminación de errores hasta mejorar la documentación y refinar las pruebas. Aquí hay un desglose de algunas ideas clave:

  • Características y mejoras: revisiones que incluyen optimizaciones de rendimiento (PR #67397), nuevas funcionalidades (PR #67215).

  • Documentación: Las importantes contribuciones a la documentación garantizan claridad y una adopción más sencilla (PR n.º 67056).

  • Corrección de errores: corrección de errores críticos, resaltada por 41,5 horas (~1,7 días) de tiempo de reelaboración (PR n.º 67022).

  • Optimizaciones de rendimiento: mejora de la velocidad y la eficiencia del marco (PR n.º 67065).

Estas actualizaciones posicionan a Next.js como líder en desarrollo web. Sin embargo, muchas de las áreas que necesitan mejoras (tiempo de ciclo, primera respuesta y tiempo de entrega) pueden beneficiarse de una mayor automatización en las pruebas, revisiones de código y notificaciones.

Para optimizar aún más, pueden rastrear los cuellos de botella en su proceso, ya sea que estos cuellos de botella ocurran durante la revisión, prueba o implementación del código, y apuntar a esas áreas para mejorar el rendimiento general. Además, fomentar la retroalimentación continua a través de reuniones o retrospectivas más frecuentes puede ayudar a identificar y resolver puntos de fricción. Al centrarse en estas estrategias, puede crear un proceso de desarrollo e implementación más eficiente y optimizado.

¿Cómo afecta esto a la comunidad Next.js?

Para los colaboradores internos, el ciclo de implementación rápido es un sueño. Las funciones y correcciones se implementan rápidamente, lo que significa que el equipo recibe comentarios casi en tiempo real. Sin embargo, el largo tiempo de entrega podría hacer que algunos contribuyentes se sientan atrapados en una larga cola, esperando que su trabajo se publique.

Para los contribuyentes externos, comprender estos obstáculos puede establecer expectativas más claras. Si estás contribuyendo a Next.js, no te sorprendas si tu PR tarda un poco en fusionarse, aunque las implementaciones ocurren con frecuencia.

Conclusiones clave

  • Invierta en automatización: un proceso de CI/CD sólido puede hacer que las implementaciones fluyan como el agua.

  • Fomente relaciones públicas pequeñas y frecuentes: menos complejidad significa revisiones e implementaciones más rápidas.

  • Abordar los cuellos de botella en el tiempo de ciclo: si el tiempo de entrega se está retrasando, investigue qué está causando los retrasos, ya sean tiempos de retrabajo o revisión.

Puntuación DORA: 8/10

Next.js tiene una frecuencia de implementación impresionante que está aumentando, pero su tiempo de entrega, tiempo de ciclo y tiempos de primera respuesta podrían necesitar algo de atención. Con algunos ajustes estratégicos, tienen el potencial de ser fuertes contendientes contra los mejores en el informe anual Dora de Google,

¿Next.js está haciendo obsoletos otros proyectos de código abierto?

Next.js ha establecido un nuevo punto de referencia en eficiencia de implementación, lo que lo convierte en el que hay que observar en el mundo del código abierto. Con su inmejorable combinación de velocidad, calidad e innovación constante, deja poco espacio para que los competidores se pongan al día. Ya sea que sea un colaborador activo o un espectador curioso, hay mucho que admirar (y aprender) de este repositorio pionero.

A medida que Next.js continúa evolucionando, no se trata solo de mantenerse al día con las demandas de la web; les está dando forma. ¡Prepárese para recibir más actualizaciones innovadoras que redefinen la excelencia del código abierto!

Si está entusiasmado por explorar más a fondo estos conocimientos y conectarse con otros líderes de ingeniería, únase a nosotros en The Middle Out Community. ¡Y suscríbase al boletín para obtener estudios de casos exclusivos y más!

Trivialidades

Next.js fue creado por Vercel (anteriormente Zeit) en 2016 y rápidamente ganó popularidad debido a sus potentes funciones para crear aplicaciones React renderizadas del lado del servidor. Admite tanto la generación de sitios estáticos (SSG) como la representación del lado del servidor (SSR), lo que la convierte en una opción flexible para los desarrolladores. Grandes empresas como Netflix, Twitch y GitHub utilizan Next.js para potenciar sus aplicaciones web, demostrando su confiabilidad y escalabilidad.

Recursos adicionales

  • Middleware y métricas de Dora

  • Guías de integración continua

  • Metodología de Métricas de Dora

Declaración de liberación Este artículo se reproduce en: https://dev.to/middleware/is-nextjs-the-next-evolution-or-just-a-passing-trend-a-dora-metrics-case-study-362c?1 Cualquiera infracción, comuníquese con [email protected] para eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3