ホームページ  >  記事  >  ウェブフロントエンド  >  Next.js は次の進化版ですか、それとも単なる一時的なトレンドですか? Dora メトリクスのケーススタディ

Next.js は次の進化版ですか、それとも単なる一時的なトレンドですか? Dora メトリクスのケーススタディ

Patricia Arquette
Patricia Arquetteオリジナル
2024-09-21 14:32:02551ブラウズ

Next.js は、現代の Web 開発シーンを席巻している比較的最近の強力な JavaScript フレームワークであるリポジトリです。 Next.js は、サーバー側レンダリング、静的サイト生成、SEO 最適化により React を強化します。

開発者はその多用途性を気に入っており、数字がそれを物語っています。最近の調査では、開発者の 60% が、デプロイとスケーラビリティの容易さから、本番環境に対応したアプリケーションの構築には Next.js を好むと回答しました。デプロイ時間を比較すると、Next.js は速度と効率の点で React を常に上回っており、シームレスなビルド プロセスを目指す開発者にとって頼りになる選択肢となっています。

このケーススタディは、OpenSource Next.js リポジトリに焦点を当てており、特にその例外的な導入頻度に焦点を当てています。

動的な e コマース サイトや迅速に起動するブログを構築するために Next.js をいじってきた開発者として、私たちは不思議に思わずにはいられませんでした -- 彼らはどのようにしてこのような伝説的なリポジトリをこれほど効率的に作成し、管理したのでしょうか?そこで、ミドルウェア オープンソースを使用してさらに詳しく調査しました。

これらの洞察をさらに深め、他のエンジニアリング リーダーとつながることに興味がある場合は、 The Middle Out Community に参加するか、限定のニュースレターを購読してください。事例紹介など!

しかし、まず最初に。 Dora メトリクスとは何かを理解しましょう。

ドラメトリクスとは何ですか?

Dora メトリクスは、ソフトウェア配信におけるプロジェクトの開始から最終運用までの進行効率を示す重要な指標です。 Dora Metrics と、Dora Metrics がエンジニアリング プロセスにどのように役立つかについて詳しく説明したブログをぜひお読みください。

  • デプロイメント頻度: コードが本番環境にヒットする頻度。

  • 変更のリードタイム: コミットが有効になるまでにかかる時間。

  • 平均復元時間 (MTTR): 障害から回復するのにかかる時間。

  • 変更失敗率: デプロイメントのうち、何かが壊れる回数。

全員が同じ認識を持ったので、Next.js がどのように評価されるかを見てみましょう。

私たちの主な調査結果

Next.js: 例外的なデプロイ頻度でハードルを高く設定する

オープンソース Next.js リポジトリは、業界標準をはるかに上回る、その並外れたデプロイ頻度で際立っています。過去 3 か月間、リポジトリはチームの効率性と自動化の能力を反映して、一貫して大量のデプロイメントを推進してきました。

2024 年 6 月には 247 件の導入があり、7 月には 261 件、8 月には 279 件という驚異的な数字が続きました。これらの数字は、継続的統合と迅速な機能リリースに対するリポジトリの取り組みを強調しており、オープンソース コミュニティにおけるデプロイ頻度のベンチマークとなっています。

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

これは、ほぼ 3 時間に 1 回の導入に相当します。この高頻度の展開は単なる見せしめのためではありません。それにより、プロジェクトは驚くべきスピードで進化し続けます。彼らはどうやってそれを行うのでしょうか?いくつかの重要な要素が際立っています:

  • 自動化された CI/CD パイプライン: 自動化が導入されているため、デプロイメントはまるで魔法のように迅速かつスムーズです。

  • 頻繁で小規模な PR: 変更を一口サイズのプル リクエストに分割することで、より少ないリスクでより迅速にマージおよびデプロイできます。

  • 迅速な問題解決: バグはすぐに潰され、展開の失敗はほとんどありません。

サイクルタイムには改善の余地がある

デプロイ頻度が高いにもかかわらず、リポジトリではサイクル タイムに顕著な変動が見られ、変更の全体的なリード タイムに影響を及ぼします。サイクル タイムにはすべての PR が含まれますが、リード タイムには利用可能な導入データを含む PR のみが含まれます。 2024 年 6 月の平均サイクル タイムは約 3.5 日で、7 月には 3.6 日にわずかに増加し、8 月には 5.3 日に急増しました。

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

サイクルタイムは増加傾向にあり、3.5 日から 5.3 日へと増加しており、開発プロセスに多少の遅れがあることを示しています。コードレビュー、テスト、手動タスクのいずれにおいてもボトルネックを特定し、自動テストを実装するかスプリント計画を改善することで、ボトルネックを軽減できる可能性があります。

一部の作業が必要になる可能性があるその他の主要な指標

最初の応答時間

2024 年 6 月の平均初回応答時間は 1.6 日 (38.4 時間) で、Next.js リポジトリの問題とプル リクエストが迅速かつ効率的に処理されたことを示しています。 2024 年 7 月までに、この時間はわずかに増加して 1.8 日 (43.2 時間) となり、おそらく問題数の増加またはチームの可用性の低下が原因で、若干の遅れが生じる可能性を示唆しています。

ただし、2024 年 8 月には 2.6 日 (62.4 時間) に大幅に増加しており、おそらくワークロードの増加、レビュー担当者の割り当てのボトルネック、または休暇によるチーム メンバーの減少が原因で、顕著な遅延が発生していることを示唆しています。

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

初回応答時間を改善するには、最近増加している遅延に対処するためのいくつかの戦略を実装できます。問題やプル リクエストの通知を自動化すると、レビュー担当者への割り当てが迅速化され、待ち時間が短縮されます。

応答時間に関する SLA (サービス レベル アグリーメント) を導入すると、説明責任が生まれ、より迅速な対応が促進される可能性があります。さらに、チームの割り当てと作業負荷の分散を見直すことは、特に需要が高い時期や休暇などチームの可用性が低下している時期に、責任のバランスをとるのに役立つ可能性があります。

部門を超えたコラボレーションを促進すると、チーム全体に負荷がより均等に分散され、より迅速な対応が可能になる可能性があります。これらの変更により、応答時間が効果的に短縮され、効率が維持される可能性があります。

変更のリードタイム

2024 年 6 月から 8 月にかけて、Next.js リポジトリの変更のリードタイムは 3.3 日から 4.1 日へと徐々に増加しました。 6 月には 3.3 日という比較的短い納期は、スムーズな調整による効率的なワークフローを反映しています。 7 月までに、この日数はわずかに増加して 3.6 日となり、おそらくコード レビューが長くなったり、タスクがより複雑になったりしたため、多少の非効率が生じていることがわかります。

しかし、8 月までにリードタイムは 4.1 日に達し、作業負荷の増加、レビューのボトルネック、休暇によるチーム能力の低下が原因で発生した可能性が高い、より大幅な遅延を示しています。この傾向は、プロセスを最適化し、さらなる速度低下を防ぐ必要があることを示唆しています。

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

理由は?

  1. レビュー時間が延長されました。例: PR #67498

  2. 綿密な精査とテストを伴う複雑なタスク。 PR #67391

  3. 最初の応答時間の変動 (1.6 日から 2.6 日) により、レビューの開始時間が不均一となり、進捗が遅れます。

仕事の性質

OpenSource Next.js リポジトリには、機能のアップグレードやバグ潰しからドキュメントの改善やテストの改良に至るまで、さまざまなアクティビティが含まれています。いくつかの重要な洞察の内訳は次のとおりです:

  • 機能と改善: パフォーマンスの最適化 (PR #67397)、新機能 (PR #67215) を含むオーバーホール。

  • ドキュメント: ドキュメントへの大幅な貢献により、明確さと容易な導入が保証されます (PR #67056)。

  • バグ修正: 41.5 時間 (約 1.7 日) の再作業時間 (PR #67022) によって強調表示されている重大なバグ修正に対処します。

  • パフォーマンスの最適化: フレームワークの速度と効率を強化します (PR #67065)。

これらのアップデートにより、Next.js は Web 開発のリーダーとしての地位を確立します。ただし、サイクル タイム、最初の応答、リード タイムなど、改善が必要な領域の多くは、テスト、コード レビュー、通知の自動化を強化することで恩恵を受けることができます。

さらに最適化するには、コードレビュー、テスト、デプロイ中にボトルネックが発生したかどうかにかかわらず、パイプライン内のボトルネックを追跡し、それらの領域をターゲットにして全体のパフォーマンスを向上させることができます。また、より頻繁なスタンドアップや振り返りを通じて継続的なフィードバックを促進することは、摩擦点を特定して解決するのに役立ちます。これらの戦略に焦点を当てることで、より効率的かつ合理化された開発および展開パイプラインを作成できます。

これは Next.js コミュニティにどのような影響を与えますか?

内部貢献者にとって、迅速な導入サイクルは夢のようなものです。機能と修正は迅速に展開されるため、チームはほぼリアルタイムでフィードバックを得ることができます。ただし、リードタイムが長いため、投稿者によっては自分の作品が公開されるのを待っている長い列に入れられていると感じる可能性があります。

外部貢献者の場合、これらのボトルネックを理解することで、より明確な期待を設定できます。 Next.js に貢献している場合は、デプロイメントが頻繁に行われる場合でも、PR のマージに少し時間がかかっても驚かないでください。

重要なポイント

  • 自動化への投資: 堅牢な CI/CD パイプラインにより、水のようにデプロイメントを継続できます。

  • 小規模で頻繁な PR を奨励します: 複雑さが軽減されるということは、迅速なレビューと迅速な導入を意味します。

  • サイクル タイムのボトルネックに対処する: リード タイムが遅れている場合は、手戻りやレビュー時間など、遅れの原因を掘り下げます。

ドーラスコア: 8/10

Next.js は驚くべきデプロイ頻度を実現しており、その頻度は急上昇していますが、リード タイム、サイクル タイム、最初の応答時間には注意が必要になる可能性があります。いくつかの戦略的調整を行うことで、Google の年次 Dora レポートの上位企業に対する強力な競争相手となる可能性があります。

Next.js は他のオープンソース プロジェクトを時代遅れにするのでしょうか?

Next.js はデプロイ効率の新たなベンチマークを設定し、オープンソースの世界で注目される存在となっています。スピード、品質、絶え間ない革新の比類のない融合により、競合他社が追いつく余地はほとんどありません。あなたが積極的な貢献者であっても、好奇心旺盛な傍観者であっても、この先駆的なリポジトリからは賞賛し、学ぶべきことがたくさんあります。

Next.js は進化を続けていますが、Web の要求に応えるだけではありません。それが彼らを形作っているのです。オープンソースの卓越性を再定義する、さらなる画期的なアップデートに備えてください!

これらの洞察をさらに調査し、他のエンジニアリング リーダーとつながることに興奮している場合は、 Middle Out コミュニティ に参加してください。ニュースレターを購読して、特別なケーススタディなどをご覧ください!

トリビア

Next.js は 2016 年に Vercel (旧 Zeit) によって作成され、サーバーサイドでレンダリングされる React アプリケーションを構築するための強力な機能によりすぐに人気を博しました。静的サイト生成 (SSG) とサーバー側レンダリング (SSR) の両方をサポートしているため、開発者にとって柔軟な選択肢となります。 Netflix、Twitch、GitHub などの大手企業は、自社の Web アプリを強化するために Next.js を使用し、その信頼性と拡張性を実証しています。

その他のリソース

  • ミドルウェアと Dora メトリクス

  • 継続的統合ガイド

  • Dora メトリクス手法

以上がNext.js は次の進化版ですか、それとも単なる一時的なトレンドですか? Dora メトリクスのケーススタディの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。