Why I won't use Next.js anymore ๐ก
NextJs became popular because it was a easy way to build full stack apps, But after years of using it as default I have moved away from it. Here's why
Warning: Rant ahead.
Problems
It has become too complex
Over time NextJs has introduced tons of complexity, with latest one being Server Actions. Learning curve is much higher now and going through NextJs documentation has become a herculean task. USP of simplicity is gone.
Too many breaking changes
Page router to app router has created so many problems. Like API level configs don't work anymore and now we need to learn about Server Actions to achieve this.
Customisation
Any use case which differs from what NextJs creators intended to do is simply painful. NextJs has decided that API requests can have 1Mb request body, I have an API which uses request body of > 1 Mb (passing a base64 image), achieving that has no good alternative.
Page router has some config options but app router doesn't or they are not documented. The only way to achieve it is either create a custom server (What's the point of NextJs then) or learn about Server Actions, which may or may not provide a solution.
At this point, you start wondering what was the problem with the simple express server.
My Conclusion
Any highly opinionated framework should be simple to work with, nobody wants something which is restrictive and needs a high learning curve. The only use cases someone should consider using NextJs is
Extreme need for Server Side Rendering
Hobby project with known and simple scope