Arrange Act Assert

Jag Reehals thinking on things, mostly product development

Choosing Your React Framework in 2025: Understanding Next.js Trade-offs

13 Feb 2025

I love Next.js. It's been my framework of choice since my first tiny contribution in 2017.

Yesterday, I joined a team discussion about which React framework to choose. In 2025, that decision is harder than ever, with so many excellent alternatives available.

While Next.js is recommended by React themselves, and is a very popular choice, the not-so-good parts are often left out on platforms like LinkedIn and YouTube.

I plan to write about the good things about Next.js 15 in the future, but here are some challenges I still face using it today.

Next.js 15 and React Server Components (RSC)

It's not just me who has doubts about (overhyped) React Server Components, which on paper look fantastic, however...

RSC is the most painful new React API in the State of React survey.

Complaints:
- Hard to test.
- Hard to debug.
- Hard to reason about.
- Confusing mental model.
- Seems designed to sell Vercel.
- Some think only Next.js supports RSC.
- More complexity for little benefit. pic.twitter.com/HT5DzXlK3t

— Cory House (@housecor) February 12, 2025

Middleware Issues

Edge Runtime Limitations

Good news: Node.js runtime support for middleware is merged! The PR #75624 by the Next.js team enables middleware to run with full Node.js API support, addressing many of the current limitations. Broader discussions on this topic are tracked in GitHub Discussion #71727.

Single Middleware File Restriction

Implementation Problems

Inconsistent Execution

Authentication Compatibility

Fetch API and Monkey Patching Issues

Global Fetch Modifications

MSW Integration Challenges

No Platform Adapter (Unlike Remix, Svelte, and Astro)

There is an initiative called OpenNext, but it appears to be playing catchup. Vercel remains the best platform to host Next.js, so having adapters for other platforms might introduce conflicts of interest.

Backward Compatibility Bloat

Modern Alternatives

Astro for Static Sites

TanStack Router for SPAs

TanStack Framework Comparison.

Remix/React Router 7/?

Development Experience Issues

Caching Complexities

Architectural Challenges

Upgrades and Dependency Issues

Despite these challenges, Next.js remains a powerful and flexible framework that continues to evolve.

It will improve, and hopefully, one can be seamlessly deployed on many platforms, not just Vercel.

With a huge ecosystem, it's still my go-to framework.

However, modern alternatives like Astro and TanStack Router may offer more focused solutions for developers who find these pain points too limiting.

Ultimately, the right tool depends on your specific use case and priorities.

next.js react