Home / Companies / Graphite / Blog / Post Details
Content Deep Dive

CRA to App Router in 5 Steps: A case study with Graphite

Blog post from Graphite

Post Details
Company
Date Published
Author
Kenneth DuMez
Word Count
1,474
Language
English
Hacker News Points
-
Summary

Graphite advocates for migrating from Create React App (CRA) to Next.js for developing scalable and high-performance web applications, citing significant advantages such as improved performance, SEO benefits, and enhanced developer experience. Despite initial challenges with their large, TypeScript monorepo, Graphite successfully condensed their migration process into five simple pull requests with guidance from the Vercel team and the use of Next.js's App Router. Key differences between Next.js and CRA include Next.js's support for multiple rendering strategies and its file-system-based routing, which contrasts with CRA's entirely client-side rendering and reliance on external libraries for routing. The migration process involved tackling API differences, implementing SVG imports, refactoring their folder structure, integrating Next.js by configuring necessary files and adapting routing, and handling server-side rendering complexities. Through these steps, Graphite was able to leverage Next.js's bundle-splitting, performance optimizations, and strong ecosystem, positioning it as a forward-looking choice for modern web development.