Single Page Application (SPA) is Dead, what now?
I have been using React for X years now and I can say that it has been a great experience so far. During those times, it has kept on evolving, with new libraries and frameworks constantly changing how we do frontend development.
So what’s new?
From updating class based components to functional components, using hooks, lazy loading, and maaaany other things that changed, one of the biggest update was….
They removed CRA (create-react-app).
The next thing?
Yes, technically the next thing on the list was Next.js — by Vercel. It has been in the frontline of server side rendering with React and is widely adopted by the community. But after CRA has been removed from the react website, a new framework is trying to challenge it…
Remix —backed by the people from Shopify. It tries to improve the developer experience by providing a more opinionated framework and is built on top of react-router (while Next uses standard API routing).
I won’t have any recommendations which of them to use but definitely those two frameworks are changing the way we develop frontend with React. from Single Page Applications (Client Side Components) now we have Server Side Rendering (Hydrate) that made way for React Server Components.
You can see more details about rendering here. And about react server components here.
A few more notes…
While CRA is no longer a recommended for starting a new react project, this doesn’t mean that you can no longer create Single Page Applications. One of the best things about Sever Side Rendering, is that you can actually make a route as a SPA, so you can have the best of both worlds. However, if you really want to create a Progressive Web App (which is commonly a SPA), You can check out Vite.