The End of an Era: React Team No Longer Recommends Create React App

Create React App (CRA) has been the go-to tool for many developers to set up their React projects. However, recent news from the React team has indicated that they no longer recommend the use of CRA. In this article, we will discuss why this decision was made, what it means for developers, and explore some alternative tools for setting up React applications.

Vivek Dwivedi
3 min readApr 12, 2023

The Rise and Fall of Create React App

CRA was introduced in 2016 as a simple, fast, and efficient way for developers to jump-start their React projects. It provided a streamlined setup process that included a sensible set of defaults, allowing developers to focus on writing code rather than configuring build tools.

However, as the JavaScript ecosystem evolved, so did the expectations and requirements of developers. The rise of new tools, libraries, and best practices meant that CRA’s one-size-fits-all approach was no longer sufficient for many projects. Developers began to seek more flexibility and control over their projects, leading them to explore alternative solutions.

Reasons Behind the Decision

The React team’s decision to no longer recommend CRA can be attributed to several key factors:

  1. Evolving Ecosystem: As mentioned earlier, the JavaScript and React ecosystems have evolved significantly since CRA’s introduction. Developers now have access to a wide range of tools, libraries, and best practices that may not be compatible with CRA’s default setup.
  2. Flexibility and Customization: CRA’s simplicity comes at the cost of flexibility. It makes certain assumptions about project structure and build configuration that may not be suitable for every project. Developers seeking greater control over their projects often find themselves “ejecting” from CRA, which can be a complex and time-consuming process.
  3. Performance: CRA’s default Webpack configuration can result in suboptimal build performance, particularly for large applications. This has led developers to seek out alternative solutions that provide more control over code splitting, tree shaking, and other performance optimizations.
  4. Modern Alternatives: As the React ecosystem has matured, new tools and frameworks have emerged that offer a more modern and flexible approach to setting up React projects. These alternatives often provide better performance, greater customization options, and improved developer experience.

Alternatives to Create React App

With CRA no longer being the recommended solution, developers may wonder what alternatives are available for setting up React projects. Here are a few popular options:

  1. Vite: A build tool and development server that leverages the native ES modules feature in modern browsers. Vite offers fast development and build times, as well as an extensible plugin system.
  2. Next.js: A full-featured framework for building React applications that includes features like server-side rendering, static site generation, and API routes. Next.js also offers a plugin system, allowing for easy customization of the build process.
  3. Snowpack: A lightweight build tool that leverages native ES modules for fast development and build times. Snowpack includes support for React and other popular libraries, as well as a plugin system for extending its capabilities.
  4. Parcel: A zero-configuration web application bundler that aims to provide a fast and easy-to-use development experience. Parcel supports a wide range of languages and tools, including React, and offers features like automatic code splitting and hot module replacement.

What This Means for Developers

The React team’s decision to no longer recommend CRA signals a shift in the ecosystem towards more flexible and customizable solutions. Developers should consider the unique requirements of their projects when selecting a setup tool, and evaluate the alternatives mentioned above to find the best fit.

Additionally, existing CRA users should not be alarmed by this news. Create React App will continue to be maintained and updated, and developers can continue to use it if it meets their project’s requirements. However, it may be worth exploring other options for future projects as the ecosystem continues to evolve.

Hi, I am Vivek Dwivedi and I write about technology and healthy living. If you like what you read, make sure to drop some claps and follow me on medium

I am also the founder and CTO of Humans of Code, so feel free to reach out in case you need any help/discussion with development or devOps in your org. You can connect with me on linkedIn

--

--