DEV Community

Cover image for The end: Create React App (2016-2025)

The end: Create React App (2016-2025)

The Sunsetting of Create React App

On February 14, 2025, React officially deprecated Create React App (CRA), marking the end of an era for React developers. For years, CRA was the go-to tool for bootstrapping new React projects.


Why is Create React App Being Deprecated?

React ecosystem has evolved significantly since CRA’s introduction in 2016. Modern frameworks and build tools have surpassed CRA in both performance and flexibility. With no active maintainers and better alternatives available, the React team decided to retire CRA. The React team is encouraging developers to migrate to frameworks like Next.js or build tools like Vite.

Also because:

  • CRA does not provide a routing system
  • CRA lacks optimized data-fetching strategies
  • CRA ships apps as a single JavaScript bundle, which can result in longer load times. Modern frameworks automatically handle code splitting
  • CRA has lacked active maintainers

What now?

Starting today, developers installing Create React App will see a deprecation warning:

create-react-app is deprecated.

You can find a list of up-to-date React frameworks on react.dev
For more info see: react.dev/link/cra
Enter fullscreen mode Exit fullscreen mode

CRA will still function in maintenance mode and has been updated to support React 19. However, no new features will be added, and developers are strongly encouraged to migrate to modern solutions.


How to Migrate Away from Create React App

You can visit the official guide at the React blog post here.


Final Thoughts

Our tip: If you're looking for the simplest and most efficient way to set up a new React project after Create React App's deprecation, React + Vite is the way to go.

What are your thoughts on this change? Let’s discuss in the comments! 🚀


Top comments (27)

Collapse
 
amir_husain_55244fffca129 profile image
Amir Husain

React + vite or react + next which one is more future secure?

Collapse
 
perisicnikola37 profile image
Nikola Perišić

Hello, Amir! I think it depends on your project’s needs. React + Vite is awesome for fast development. It's the best choice for SPAs & smaller projects IMO. On the other hand, React + Next is best for scalability because of it's server-side rendering(SRR) and static generation(SSG) and built-in routing. I don't think you can go wrong whichever one you choose. Thanks for the comment 🚀

Collapse
 
programordie profile image
programORdie

For big projects nextjs, for quick testing or static pages vite

Collapse
 
perisicnikola37 profile image
Nikola Perišić
Collapse
 
jayaraj_07 profile image
Jayaraj Viswanathan

Definitely next js!!

Collapse
 
sohaillsarfaraz profile image
Sarfaraz Shaik

It's sad that CRA is deprecated, but I'm excited to try Next.js and Vite for better one

Collapse
 
perisicnikola37 profile image
Nikola Perišić

Yes, it's sad. To be honest, I haven't used it in a long time. I remember using it when I started learning React.js. I always use React + Vite + Typescript. However, there is some nostalgia because the first React app I built was generated using CRA :(

Collapse
 
osman_zakir_069f779448a55 profile image
Osman Zakir

I'm the same way. Using Next.js with TypeScript now, and React + TypeScript + Vite if Next.js isn't needed, but CRA still gives me nostalgia.

Collapse
 
muwanguzi_alvin_1cbaa4add profile image
muwanguzi alvin

Now where does this leave react native?

Collapse
 
perisicnikola37 profile image
Nikola Perišić • Edited

Hello! I have good news for you 🙂
React Native remains unaffected by CRA's deprecaton because it has its own ecosystem.

Collapse
 
fridaycandours profile image
Friday candour

Which is metro bundler

Thread Thread
 
perisicnikola37 profile image
Nikola Perišić

Yep

Collapse
 
fadekocodeit profile image
Future_Developer

Thanks for sharing. Am currently using react + vite, it performance is outstanding and awesome.

Collapse
 
perisicnikola37 profile image
Nikola Perišić

You're welcome! Yes, it's performance is awesome you will see.

Collapse
 
nerdherd profile image
Nerdherd

Im coming from NextJS (used at work for an e-commerce platform), and have to say I'm really liking the simplicity of react-router v7 over the vastly many concepts you have to know in nextjs.

Collapse
 
perisicnikola37 profile image
Nikola Perišić

Like for example?

Collapse
 
nerdherd profile image
Nerdherd • Edited

I like that:

  • caching is just using http headers
    • Back in NextJS 14, I had to run a bash script that would periodically delete cached images on my instance (it was a simple setup, since we didnt have time for a CDN)
    • the only alternative was to use vercel that automatically handles the cached files back then, not sure if its the same now since ive not run latest nextjs in prod. I didnt like that we would be vendor locked in, especially for a small company.
  • routing can either be explicit or via file/directory of your pages (using fs-routes)
    • I personally prefer explicitness for routing for larger frontend projects
  • client vs server side rendering is defined with a simple clientLoader function in a file that defines your page component
    • it feels more natural to have it defined as a function to me vs having a 'use client' string defined in the page in NextJS

React router provides SSR with actions

  • the action functions visually breaks the page into key "segments" making it feel more "class-like"
  • makes it easier for junior and mid-lvl engineers in my team to reason about , especially if they're new to frontend and need to work on simple CRUD dashboards for internal tools.

NextJS has something similar to react-router's actions with getServerSideProps and getStaticProps, but I never managed to get the caching mechanism to work properly

  • maybe my understanding was poor or did not learn the proper fundamentals of nextjs in the rush to build the web app
Collapse
 
gadrawingz profile image
Gad Iradufasha

Vue.js is the future, thanks to react!

Collapse
 
perisicnikola37 profile image
Nikola Perišić

Hahaha, RIP React developers. Just kidding, of course

Collapse
 
aceix profile image
the_aceix

Just deprecate react already. Vue is the better

Collapse
 
perisicnikola37 profile image
Nikola Perišić

I like Vue, but what are the key things because you think it's better?

Collapse
 
designbyonyx profile image
Ryan Wheale

Tanstack start is something to keep your eye on.

Collapse
 
perisicnikola37 profile image
Nikola Perišić

Yes! I used it to implement a frontend for a big bank in Serbia and it's awesome! The only negative issues I had were the integration tests. They are not yet supported.

Collapse
 
arif123654 profile image
MD. Ariful Islam

What about rsbuild?

Collapse
 
perisicnikola37 profile image
Nikola Perišić • Edited

If you prefer more flexibility, RSBuild is a good choice. If you prefer stability and larger ecosystem, go for Vite.

Collapse
 
geewhizbang profile image
Geoffrey Swenson

You may as well add Vue to Vite and ditch React altogether :-)

Collapse
 
perisicnikola37 profile image
Nikola Perišić

Yes, I like Vue.js too 🙂