Don't use create-react-app anymore, try these instead
Tags: react, javascript, webdev, frontend
Published: 2023-03-25 21:37:14

It feels like yesterday when we used `create-react-app`, but as time passed, its cons have outweighed its pros and we have to look for alternate solutions. Thankfully, alternatives exist and we're going to go through the most popular ones and their use cases.

## TL;DR

* Simple React app? =&gt; `npm create vite@latest`
    
* React app + backend + routing + SSG/SSR? =&gt; `npx create-next-app@latest`
    
* Type-safe, Full-stack Next.js app? =&gt; `npx create-t3-app@latest`
    
* Next.js alternative only for SSR? =&gt; `npx create-remix@latest`
    
* Monorepo?
    
    * 'Blazingly fast' build system? =&gt; `npx create-turbo@latest`
        
    * Different monorepo styles all in the CLI? =&gt; `npx create-nx-workspace`
        
    * template/starter repo using T3 stack with turborepo? =&gt; [clone here](https://github.com/t3-oss/create-t3-turbo)
        
    * T3 stack + React-native + Tamagui? =&gt; `npx create-t3-universal-app`
        

### [Vite](https://vitejs.dev/)

let’s get the obvious choice out of the way, if you want a simple react app, with faster build times and hot module reloading (HMR), `create vite` is your best choice here, you can choose from a different set of frameworks other than react as well as using Typescript if you want


![Terminal animation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0oh96209i91d7lt9a7q3.gif)

### [Next.js](https://nextjs.org/)

the second and recommended choice is of course `create-next-app`, next.js is the leading full-stack web framework, and for good reason too, batteries are included, so Routing, server-side rendering (SSR), and static site generation (SSG) are all included with no extra packages (unlike react which you’ll have to install react-router for it to work)


![Terminal animation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzlloe98s8cvosbkuhlf.gif)

### [T3](https://create.t3.gg/)

and if you’ve been on Twitter or youtube these past months, I’m sure you’ve heard about `create-t3-app`, an Interactive CLI to build a full-stack, type-safe Next.js app (which by extension means a react app, but I digress)


![Terminal animation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jsglf31dm67ekjj7uvuw.gif)

it’s an opinionated project that might not suit everyone, since it focuses mainly on full-stack type-safety, so if you’re using any backend that’s not Typescript, like Golang, Rust, or Python, this won’t be for you, it also comes with optional packages that make up the full-stack development (styling, authentication etc...)

### [Remix](https://remix.run/)

Remix is a full-stack react framework just like next.js, its main difference is that it focuses more on server-side rendering whereas next.js also supports static site generation (SSG) and incremental site regeneration (ISR), but trust me, you’ll love the CLI when setting up a remix project


![Terminal animation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/camub7jr1wwdanks0hry.gif)

## Monorepos:

*(for the uninitiated, A Monorepo is a collection of many different apps and packages in a single codebase, where you use the same styling, same testing kit etc, which for example, you can use to build a react app and its mobile counterpart with react native in the same codebase)*

Monorepos are trending in the sense that devs love standardization in their cross-platform apps, or testing reusable logic when working on microservices, and these are a couple of CLIs you'll love using

### [Turborepo](https://turbo.build/repo)

let’s talk about the new kid here, Turborepo, it’s fast, it’s new, and it’s opinionated, its CLI builds a preconfigured repo that might not suit your exact needs for now, but they provide different example projects on github for different needs


![Terminal animation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oe3czasyrbz3onbmux4a.gif)

### [NX](https://nx.dev/)

Nx is a build system tool that has a powerful CLI to use for different use cases, and it’s amazing when initiating a large-scale monorepo as it has support for multiple styling systems and multiple frameworks, so no need to configure your apps afterwards


![Terminal animation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7fzrwe2z319m6nn0fpmd.gif)

### [create-t3-turbo](https://github.com/t3-oss/create-t3-turbo)

we also have a template/starter repo that uses Turborepo for a monorepo structure, and adds Expo and react-native to handle the mobile version of your site, making it a true monorepo version of the `create-t3-app` we talked about before


![Github link](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hb4qpwf5255o5ik6y2q9.png)

### [CUA](https://github.com/chen-rn/CUA)

Last one I wanted to show you is `create-universal-app`, it’s a template just like the previous one, and it actually uses it as a base, it’s an opinionated template for creating full-stack universal (mobile + web codeshare) apps with built-in auth for both of them using T3 stack and the new **Tamagui** kit that you should totally check out, for a truly universal, Monorepo.


![Github link](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/43mqiocsc81us73gft11.png)

---

hopefully, you’ll be using the CLI/starter repo that suits your needs in your new projects!

if you liked this article, let me know what type of subjects you want me to check out and visualize, and also next week I'll be discussing Next.js 13 and Server components, so hopefully, that'll be a bit more interesting

follow me at [twitter](https://twitter.com/haidar_ezio) for more updates and other stuff I'll be posting there!