はじめに
2023年5月にNext.js 13.4がリリースされ、App Router という機能が安定板扱いになりました。
今までの Pages Router との違いを整理するため、この記事では、Pages Router と App Router のルーティングについて、記載していきます。
共通点
Pages Router と App Router の両方ともファイルベースのルーティングという点では共通しています。
Pages Router のルーティング
Pages Router のルーティングでは、src/pages フォルダ配下にファイルやフォルダを追加することで、ルーティングが定義されます。
例えば、pages/client-side-rendering.tsx のようにファイルを追加すると、ルーティングは、/client-side-rendering になります。

また、pages/renderings/client-side-rendering.tsx のようにフォルダを追加すると、ルーティングは、/renderings/client-side-rendering になります。

App Router のルーティング
一方、App Router のルーティングでは、src/app フォルダ配下にファイルやフォルダを追加することで、ルーティングが定義されます。Pages Router とは違い、ルーティングに利用するファイル名には、page をつける必要があります。
例えば、ルーティングを /client-side-rendering にしたい場合、フォルダ・ファイル構成は、app/client-side-rendering/page.tsx とする必要があります。

また、/renderings/client-side-rendering にしたい場合は、app/renderings/client-side-rendering/page.tsx とする必要があります。

まとめ
以上のように Pages Router と App Router の両方ともファイルベースのルーティングという点では共通しています。
ただ、 Pages Router の場合、ルーティングに利用するファイルは、他のファイルとは分け、src/pages 内で管理する一方、App Router の場合、ルーティングに利用するファイルを src/app 内で他のファイルと共に管理するという点では違います。