Maison > Article > interface Web > Next.js est-il la prochaine évolution ou juste une tendance passagère ? Une étude de cas Dora Metrics
Next.js est un dépôt qui est un framework JavaScript relativement récent mais puissant qui prend d'assaut la scène du développement Web moderne. Next.js renforce React avec son rendu côté serveur, sa génération de sites statiques et son optimisation SEO.
Les développeurs adorent sa polyvalence et les chiffres parlent d'eux-mêmes. Dans une enquête récente, 60 % des développeurs ont déclaré préférer Next.js pour créer des applications prêtes pour la production en raison de sa facilité de déploiement et de son évolutivité. Lorsque l'on compare les temps de déploiement, Next.js surpasse systématiquement React en termes de vitesse et d'efficacité, ce qui en fait un choix incontournable pour les développeurs visant un processus de construction transparent.
Cette étude de cas se concentre sur le référentiel OpenSource Next.js, mettant particulièrement en avant sa fréquence de déploiement exceptionnelle.
En tant que développeurs ayant bricolé Next.js pour créer des sites de commerce électronique dynamiques et des blogs à lancement rapide, nous ne pouvions pas nous empêcher de nous demander : comment ont-ils créé et géré un dépôt aussi légendaire avec une telle efficacité ? Nous avons donc creusé plus profondément en utilisant Middleware Open-Source.
Si vous souhaitez approfondir ces connaissances et entrer en contact avec d'autres leaders de l'ingénierie, rejoignez-nous dans La communauté Middle Out ou abonnez-vous à notre newsletter pour recevoir des informations exclusives. études de cas et plus encore !
Mais, commençons par le commencement. Comprenons ce que sont les métriques Dora.
Les Dora Metrics sont des indicateurs clés qui montrent l'efficacité avec laquelle un projet progresse du début à la production finale en matière de livraison de logiciels. N'hésitez pas à lire notre blog détaillé sur Dora Metrics et comment ils peuvent aider vos processus d'ingénierie !
Fréquence de déploiement : à quelle fréquence le code arrive en production.
Délai de mise en œuvre des modifications : combien de temps il faut pour qu'un engagement soit mis en ligne.
Temps moyen de restauration (MTTR) : temps nécessaire pour se remettre d'une panne.
Taux d'échec des modifications : combien de ces déploiements cassent quelque chose.
Maintenant que nous sommes tous sur la même longueur d'onde, voyons comment Next.js se situe à la hauteur.
Le référentiel OpenSource Next.js se démarque par sa fréquence de déploiement exceptionnelle, dépassant de loin les standards de l'industrie. Au cours des trois derniers mois, le dépôt a constamment poussé un volume élevé de déploiements, reflétant l'efficacité et les prouesses de l'équipe en matière d'automatisation.
En juin 2024, il y a eu 247 déploiements, suivis de 261 en juillet et d'un nombre impressionnant de 279 en août. Ces chiffres soulignent l'engagement du référentiel en faveur d'une intégration continue et de versions rapides de fonctionnalités, ce qui en fait une référence en matière de fréquence de déploiement dans la communauté open source.
Cela représente près d'un déploiement toutes les 3 heures ! Ce déploiement à haute fréquence n’est pas qu’un simple spectacle ; cela fait évoluer le projet à une vitesse incroyable. Comment font-ils ? Quelques facteurs clés ressortent :
Pipeline CI/CD automatisé : avec l'automatisation en place, les déploiements sont rapides et fluides, presque comme par magie.
Petits PR fréquents : en décomposant les modifications en petites requêtes d'extraction, ils peuvent fusionner et se déployer plus rapidement avec moins de risques.
Résolution rapide des problèmes : les bogues sont rapidement corrigés et les déploiements échoués sont rares.
Malgré une fréquence de déploiement élevée, le référentiel présente des fluctuations notables du temps de cycle, ce qui a un impact sur le délai global des modifications. Le temps de cycle inclut tous les PR, tandis que le Lead Time inclut uniquement les PR avec des données de déploiement disponibles. En juin 2024, la durée de cycle moyenne était d'environ 3,5 jours, augmentant légèrement à 3,6 jours en juillet, puis atteignant 5,3 jours en août.
Le temps de cycle a augmenté, passant de 3,5 à 5,3 jours, ce qui indique certains retards dans le processus de développement. L'identification des goulots d'étranglement, que ce soit dans les révisions de code, les tests ou les tâches manuelles, et la mise en œuvre de tests automatisés ou d'une planification de sprint améliorée pourraient aider à réduire cela.
En juin 2024, le délai moyen de première réponse était de 1,6 jour (38,4 heures), ce qui indique une gestion rapide et efficace des problèmes et des demandes d'extraction dans le référentiel Next.js. En juillet 2024, ce délai a légèrement augmenté pour atteindre 1,8 jour (43,2 heures), ce qui laisse présager un retard mineur, probablement dû à un nombre croissant de problèmes ou à une disponibilité réduite des équipes.
Walau bagaimanapun, pada Ogos 2024, terdapat lonjakan yang ketara kepada 2.6 hari (62.4 jam), menunjukkan kelewatan yang ketara, mungkin disebabkan oleh beban kerja yang lebih tinggi, kesesakan dalam tugasan penyemak atau kurang ahli pasukan kerana bercuti.
Untuk meningkatkan Masa Tindak Balas Pertama, beberapa strategi boleh dilaksanakan untuk menangani peningkatan kelewatan baru-baru ini. Mengautomatikkan pemberitahuan untuk isu dan permintaan tarik boleh memastikan tugasan yang lebih cepat kepada penyemak, mengurangkan masa menunggu.
Memperkenalkan SLA (Perjanjian Tahap Perkhidmatan) untuk masa respons boleh mewujudkan akauntabiliti dan menggalakkan penglibatan yang lebih cepat. Selain itu, menyemak peruntukan pasukan dan pengagihan beban kerja boleh membantu mengimbangi tanggungjawab, terutamanya semasa tempoh permintaan tinggi atau ketersediaan pasukan berkurangan, seperti percutian.
Menggalakkan kerjasama merentas fungsi juga boleh mendayakan respons yang lebih cepat dengan menyebarkan beban ke seluruh pasukan dengan lebih sekata. Perubahan ini boleh mengurangkan masa tindak balas dengan berkesan dan mengekalkan kecekapan.
Dari Jun hingga Ogos 2024, masa utama untuk perubahan dalam repositori Next.js meningkat secara beransur-ansur daripada 3.3 hari kepada 4.1 hari. Pada bulan Jun, pemulihan 3.3 hari yang agak cepat mencerminkan aliran kerja yang cekap dengan penyelarasan yang lancar. Menjelang Julai, ini meningkat sedikit kepada 3.6 hari, membayangkan ketidakcekapan kecil, mungkin disebabkan oleh semakan kod yang lebih panjang atau tugas yang lebih kompleks.
Walau bagaimanapun, menjelang Ogos, masa pendahuluan mencecah 4.1 hari, menunjukkan kelewatan yang lebih ketara mungkin disebabkan oleh beban kerja yang lebih tinggi, kesesakan dalam semakan atau pengurangan kapasiti pasukan akibat percutian. Aliran ini mencadangkan keperluan untuk mengoptimumkan proses dan mencegah kelembapan selanjutnya.
Sebab?
Masa semakan lanjutan. Contohnya, PR #67498
Tugas kompleks yang melibatkan penelitian dan ujian yang mendalam. PR #67391
Turun naik dalam Masa Tindak Balas Pertama (dari 1.6 hari hingga 2.6 hari) menyebabkan masa mula semakan tidak sekata, melambatkan kemajuan.
Repo OpenSource Next.js merangkumi pelbagai aktiviti, daripada peningkatan ciri dan pemusnahan pepijat kepada penambahbaikan dokumentasi dan ujian penapisan. Berikut ialah pecahan beberapa cerapan utama:
Ciri dan Penambahbaikan: Baik pulih termasuk pengoptimuman prestasi (PR #67397), fungsi baharu (PR #67215).
Dokumentasi: Sumbangan penting kepada dokumentasi memastikan kejelasan dan penerimaan yang lebih mudah (PR #67056).
Pembetulan Pepijat: Menangani pembetulan pepijat kritikal, diserlahkan sebanyak 41.5 jam (~1.7 hari) masa kerja semula (PR #67022).
Pengoptimuman Prestasi: Meningkatkan kelajuan dan kecekapan rangka kerja (PR #67065).
Kemas kini ini meletakkan Next.js sebagai peneraju dalam pembangunan web. Walau bagaimanapun, banyak bidang yang memerlukan penambahbaikan---masa kitaran, respons pertama dan masa pendahuluan---boleh mendapat manfaat daripada peningkatan automasi dalam ujian, semakan kod dan pemberitahuan.
Untuk mengoptimumkan lagi, mereka boleh menjejaki kesesakan dalam saluran paip mereka, sama ada kesesakan ini berlaku semasa semakan, ujian atau penggunaan kod dan menyasarkan kawasan tersebut untuk meningkatkan prestasi keseluruhan. Selain itu, memupuk maklum balas berterusan melalui pendirian yang lebih kerap atau retrospektif boleh membantu mengenal pasti dan menyelesaikan titik geseran. Dengan memfokuskan pada strategi ini, anda boleh mencipta saluran pembangunan dan penggunaan yang lebih cekap dan diperkemas.
Untuk penyumbang dalaman, kitaran penggunaan pantas adalah impian. Ciri dan pembaikan dilancarkan dengan cepat, bermakna pasukan mendapat maklum balas dalam hampir masa nyata. Walau bagaimanapun, masa pendahuluan yang tinggi boleh membuatkan sesetengah penyumbang berasa seperti mereka terperangkap dalam barisan yang panjang, menunggu kerja mereka disiarkan secara langsung.
Untuk penyumbang luar, memahami kesesakan ini boleh menetapkan jangkaan yang lebih jelas. Jika anda menyumbang kepada Next.js, jangan terkejut jika PR anda mengambil sedikit masa untuk digabungkan, walaupun penempatan berlaku dengan kerap.
Melabur dalam Automasi: Talian paip CI/CD yang kukuh boleh memastikan penggunaan mengalir seperti air.
Galakkan PR Kecil dan Kerap: Kurang kerumitan bermakna semakan yang lebih pantas dan penggunaan yang lebih pantas.
Alamatkan Kesesakan dalam Masa Kitaran: Jika masa pendahuluan ketinggalan, kaji perkara yang menyebabkan kelewatan---sama ada masa kerja semula atau semakan.
Next.js mempunyai kekerapan penggunaan yang mengagumkan yang meningkat, tetapi masa utamanya, masa kitaran dan masa respons pertama boleh menggunakan sedikit perhatian. Dengan beberapa pengubahsuaian strategik, mereka berpotensi untuk menjadi pesaing yang kuat menentang prestasi terbaik dalam laporan Dora Tahunan Google,
Next.js telah menetapkan penanda aras baharu dalam kecekapan penggunaan, menjadikannya satu untuk ditonton dalam dunia sumber terbuka. Dengan gabungan kelajuan, kualiti dan inovasi berterusan yang tiada tandingannya, ia meninggalkan sedikit ruang untuk pesaing mengejarnya. Sama ada anda penyumbang aktif atau penonton yang ingin tahu, terdapat banyak perkara untuk dikagumi---dan dipelajari---daripada repo yang menjelma ini.
Memandangkan Next.js terus berkembang, ia bukan sekadar mengikuti permintaan web; ia membentuk mereka. Bersedia untuk lebih banyak kemas kini terbaharu kerana ia mentakrifkan semula kecemerlangan sumber terbuka!
Jika anda teruja untuk meneroka cerapan ini dengan lebih lanjut dan berhubung dengan rakan pemimpin kejuruteraan, mari sertai kami dalam Komuniti Middle Out. dan langgan surat berita untuk kajian kes eksklusif dan banyak lagi!
Next.js telah dicipta oleh Vercel (dahulunya Zeit) pada tahun 2016 dan cepat mendapat populariti kerana ciri-cirinya yang berkuasa untuk membina aplikasi React yang diberikan sebelah pelayan. Ia menyokong kedua-dua penjanaan tapak statik (SSG) dan pemaparan sisi pelayan (SSR), menjadikannya pilihan yang fleksibel untuk pembangun. Syarikat utama seperti Netflix, Twitch dan GitHub menggunakan Next.js untuk menguasakan apl web mereka, mempamerkan kebolehpercayaan dan kebolehskalaannya.
Metrik Pertengahan dan Dora
Panduan Integrasi Berterusan
Kaedah Metrik Dora
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!