Back to all articles
Web Development May 15, 2026 10 min read

Next.js 15: The Good, The Bad, and The Server Components

#Next.js#React#Frontend
Next.js 15: The Good, The Bad, and The Server Components

Next.js 15: The Good, The Bad, and The Server Components

The App Router changed everything. With Next.js 15, the framework has doubled down heavily on stability, compilation speed, and caching architecture. Here is what happened when I migrated a 10,000-page directory to the latest version.

The Good: TurboPack is actually fast now

Waiting for local compilation was my biggest pet peeve. The updated TurboPack implementation in dev mode makes hot-reloading almost instantaneous, even on massive monolithic pages with deep component trees.

The Bad: Caching Confusion

The fetch cache defaults have undergone scrutiny and changes. When upgrading, we ran into an issue where certain dynamic product pages were caching indefinitely because we missed updating our revalidate tags on our data-fetching utility wrappers.

Always explicitly define your caching strategy:

const res = await fetch('https://api.example.com/data', { 
  next: { revalidate: 3600 } // Always be explicit!
});

The Verdict

If you are starting a new project in 2026, Next.js 15 is the absolute gold standard for React frameworks. The Server Components model is fully mature. If you are migrating a legacy Pages router project... prepare for a painful week, but know that the performance gains on the other side are incredibly worth it.

Ghulam Mustafa

Ghulam Mustafa

Full-Stack AI & Shopify Engineer

Ready to automate your business?

Book a free 30-minute call. Walk away with at least one actionable insight — even if we never work together.