WhollySoftware
Back to blogWeb

Why We Moved to the Next.js App Router for Client Projects

Wholly Software TeamMarch 18, 20265 min read

For a long time our default recommendation for client marketing sites and product dashboards was the Next.js Pages Router — it was stable, well understood, and predictable. We've since moved our default to the App Router, and it wasn't just about chasing the newest thing.

React Server Components let us push data fetching directly into the component tree instead of routing everything through getServerSideProps or a client-side fetch waterfall. For content-heavy marketing sites especially, that means less client-side JavaScript and faster first paint.

Nested layouts solved a real annoyance — shared UI that used to require careful prop-drilling or duplicate layout components now composes naturally per route segment.

It hasn't been friction-free. The mental model shift from 'everything is a client component' to 'default to server, opt into client' takes real adjustment for a team, and some third-party libraries still assume a client-rendered tree. But for new builds, the trade-off is worth it.

Next.jsReactWeb Performance
Why We Moved to the Next.js App Router for Client Projects — Wholly Software