見出し画像

Pages Router から App Routerへ〜 Next.jsの未来への展望:パフォーマンスと安定性の向上に焦点を当てて

今日は、Next JS の最新ブログ(https://nextjs.org/blog/june-2023-update)から現在の取り組みについてまとめてみました。以下、要約です。詳しくは本家のブログサイトの方をご覧ください。

イントロダクション

Next.jsの開発チームは、Next.jsの未来に向けてApp Routerの重要性を認識しており、現在の優先順位を共有したいと考えています。

App Routerとは?

App RouterはNext.js 12.0.0から導入されました。このバージョン以降、Next.jsの開発者はApp Routerを利用して、より高度なルーティング機能とパフォーマンスの向上を実現することができます。この新しいルーティングシステムは、パフォーマンスと柔軟性を向上させることを目指して設計されています。これにより、より大規模なアプリケーションの開発においても最適な体験を提供できるようになります。

Next.jsの成長と制約

Next.jsは急速に広まり、多くの開発者が利用しています。しかし、その成長に伴い、Pages Routerの制約も浮き彫りになってきました。

一般的なPage Routerの欠点は以下の通りです。

  1. ストリーミング非対応

    • Pages Routerはストリーミングをサポートしていません。ストリーミングはモダンなReactの重要な要素であり、Next.jsがスケーラブルなアプリケーションを構築するためには制約がありました。

  2. 柔軟性の欠如

    • Pages Routerは比較的シンプルな構造を持っており、高度なカスタマイズや柔軟なルーティングパターンをサポートするのには限界があります。大規模なアプリケーションでは、より複雑なルーティング構造が必要となることがあります。

  3. パフォーマンスの制約

    • Pages Routerはパフォーマンスの面でも制約があります。特に、大規模なアプリケーションでは、ビルド時間やローカル開発の反応速度に課題が生じることがあります。

  4. サーバーサイドレンダリングの制限

    • Pages Routerはサーバーサイドレンダリング(SSR)に関しても一定の制約があります。一部のケースでは、SSRを適切に実装することが難しかったり、制限があったりします。

いくつか実際のプロジェクトでPages Routerを使うと、単純なサイトであれば非常に明快なシステムなのでサクサク作れるのですが、ページが増えると開発環境でのライブアップデートがもたつき始め、デプロイ後にSSRが思った動きをしないなんてありました。

自分の独り言

これらの欠点があり、Next.jsチームはApp Routerを開発することで、これらの制約を克服し、より優れたパフォーマンスと柔軟性を提供しようとしています。

インクリメンタルなアドプション

Next.jsのチームは、開発者がアプリケーション全体を一から作り直す必要なく、段階的にApp Routerに移行できるように努めています。これにより、新しい機能を自分のペースで活用できます。また、App Routerのパフォーマンスや開発体験に満足しない場合は、Pages Routerに簡単に戻すことも可能です。

安定性への取り組み

App RouterのコアAPIの安定性に取り組むことで、開発者コミュニティに安心感を提供しました。しかし、まだまだ改善の余地があります。Next.jsの安定性とパフォーマンスの向上には、開発チームが注力しています。

開発者向けの教育

App Routerや新しいReactの機能は、追加

の教育やドキュメンテーションが必要です。Next.jsのドキュメントは一から書き直され、新しいコンセプトを分かりやすく説明するようになりました。また、開発者向けのリソースやリアルワールドのコード例も提供されます。

まとめと今後の展望

Next.jsの開発チームは、パフォーマンス、安定性、開発体験に焦点を当てています。次のリリースでこれらの改善点が反映される予定です。今後のNext.jsの成長に期待し、より速く、より安定したApp Routerを利用できることを楽しみにしましょう。

App Routerを使ってみよう: https://nextjs.org/docs/app/building-your-application/routing


この記事が気に入ったらサポートをしてみませんか?