- Northflank's Focus: Northflank emphasizes performance, reliability, and developer experience. They help companies deploy and scale applications handling billions of requests and have optimized various types of applications.
- Next.js Challenges: When choosing Next.js, they understood its trade-offs but faced significant challenges. Even for the marketing site (an ideal choice), they hit issues like slow performance (basic page renders taking 200-400ms, large pages with dynamic content spiking beyond 700ms), frequent crashes (multiple times per week with Google crawlers or Ahrefs tools), unpredictable and inefficient built-in caching across replicas. Next.js's performance issues persisted even with a CDN. SEO performance also halved in December due to slow server-side rendering and JSON bloat, and Google was penalizing them for slow speeds. Debugging slow renders was difficult with no good ways.
- Switching to Custom Solution: After realizing the problems, Northflank ripped out Next.js and built their own server-side rendering system using plain React and Express. It took only 3 days to replace Next.js for docs and a couple of days for the marketing site. The result was pages rendering in 20ms instead of 700ms.
- Issues with Next.js and Vercel: Next.js is tightly coupled with Vercel. Its features often work best or only on Vercel, and Vercel locks users in with expensive hosting. Scaling Next.js is a headache due to bad cache invalidation across replicas. It's easy to start with Next.js but harder to grow.
- Benefits of the Switch: Since the switch, SEO rankings bounced back, pages load 50 times faster, there are no more crashes with crawlers, deployments don't cause massive slowdowns, and they don't have to babysit their website anymore.
- Conclusion: If you have a tiny site, Next.js is fine, but for those caring about performance, SEO, scalability, or control over the tech stack, it might be worth reconsidering. Northflank's approach allows for seamless scaling, effortless deploys, and good performance in real-world conditions.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。