DEV Community

Cover image for CRA Officially DEAD! What Can We Use Instead ?
Nada Aldubaie
Nada Aldubaie

Posted on

CRA Officially DEAD! What Can We Use Instead ?

CRA => Create React App
Is the easiest common way React developers use to create project, but in 2023, March React said:
"This site is no longer updated.Go to react.dev",
so they have made new Documention in their new website which they'll keep updating in.

The reason why they stopped CRA was its problems:

•Server take long time to start run.
•Slower updates during development.
•CRA takes by default 205MBs to create dependencies in node_modules whereas #Vite comes with 34MBs,
so you can see the big difference in size make it slower.
Image description

As we know React works CSR so in React Docs it's recommended to use its frameworks as best choice for:

•Support SSR which make it faster.
•Less effort and time instead of using only the library .
•Has frameworks works as full-stack React frameworks such as Next.js and Remix.🚀

But we can use React libraries without frameworks as any UI Library so here we'll need to search for the solutions some developers have made for the problems will face like routing and data fetching.


CRA comes with a lot of limitations. For instance using Tailwind library will make problem in the dependencies belong to "babel plugin ", and to solve this just install the plugin:

npm install --save-dev @babel/plugin-proposal-private-property-in-object

Enter fullscreen mode Exit fullscreen mode

But the most terrible is weback problems "Before and After Middleware "📍
You'd have to do something called
Eject
and believe me you'll not love it!
Why?
Because its job drop all the configuration for the following files:
-Babel
-Webpack
-node_modules
After the strenuous ejecting, Craco come to help.

What's Craco?
"Create React App Configuration Override".
Its goal maintain for all configuration and scripts files we made Eject for them previously. ♻️

You can imagine how hard and complex situation to maintain and solve those problems.

Summary

Best choice said by "Dwaid Niegrebecki":
If you already know React. That’s great, but you need to know how to use this skill most effectively. create-react-app just doesn’t cut it anymore. The project was super important for the React ecosystem. We have to acknowledge how much it contributed.
I won’t tell you what to use instead, but I can tell you how I make choices currently.
If I need a frontend with an API. I go with NextJS.
If I need only frontend. I go with Vite with React.
You are free to use other tools highlighted here like Gatsby or Remix.

Top comments (0)