The Remix / React Router news is a beautiful illustration of software evolution. You start with a clear idea of what you’re building, but it’s impossible to anticipate exactly what it will become. If you haven’t heard the news yet, Ryan Florence announced at React Conf 2024 that Remix will be a Vite plugin for React Router.
It’s a sort of surprising announcement but it makes a lot of sense if you’ve been following along as Remix the project has evolved. In this post we’ll recap the evolution of the project and then dig into what this change means for the future of Remix in the Server Components era of React.
🗓️ October 2021 > Remix is open sourced
In the beginning, Remix cost money. In October 2021 they received some seed funding and the project was open sourced.
Remix was an exciting new framework for server-rendering React websites that included API’s for loading data on the server and submitting data to the server with forms. It started a trend in the front-end framework space that a lot of other popular frameworks have modeled after or taken inspiration from.
🗓️ March 2022 - September 2022 > Remixing React Router
At some point they realized that the API’s that they had created for Remix were a more natural fit in React Router. In this post Ryan details the plans to move these Remix API’s into React Router.
Several months later, React Router 6.4 is released with the action, loader, and other Remix API’s baked in.
"We've always thought of Remix as "just a compiler and server for React Router"
After this release, Remix is now mostly as they described - a compiler and server for React Router.
🗓️ October 2023 - February 2024 > Remix gets Vite support
If you’re not familiar with Vite, it’s an extremely popular tool for front-end development that handles things like development servers and code bundling/compiling. A lot of the modern front-end frameworks are built on top of it.
Remix announced support for Vite as an alternative option to their existing compiler and server. Since Remix is now mostly “just a compiler and server for React Router” - what’s left of Remix now that Vite can handle those things?
🗓️ May 2024 > Remix is React Router
The Remix team releases a post detailing the announcement that Ryan made at React Conf. Looking back through the evolution of the project this doesn’t seem like an out of the blue, crazy announcement. Merging Remix API’s into React Router and then replacing the compiler and server with Vite didn’t leave much for Remix to do as a standalone project.
🐐 React Router - the past, present, and future of React
React Router is one of the oldest, and most used packages in the React ecosystem.
Since Remix has always been effectively "React Router: The Framework", we wanted to create a bridge for all these React Router projects to be able to upgrade to Remix.
With Remix being baked into React Router and now supporting SPA mode, legacy React Router applications have an easier path for migrating to the next generation of React.
https://x.com/ryanflorence/status/1791488550162370709
Remix vs React 19
If you’ve taken a look at React 19 at all, it turns out it now handles a lot of the problems that Remix set out to solve in the first place. Things like Server Components, Server Actions, and Form Actions provide the same sort of programming model that Remix popularized.
https://x.com/ryanflorence/status/1791484663883829258
Planned Changes for Remix and React Router
Just recently, a post was published giving the exact details of what the changes to Remix and React Router will look like.
tl;dr
For React Router
- React Router v6 to v7 will be a non-breaking upgrade
- The Vite plugin from Remix is coming to React Router in v7
- The Vite plugin simply makes existing React Router features more convenient to use, but it isn't required to use React Router v7
- v7 will support both React 18 and React 19
For Remix
- What would have been Remix v3 is React Router v7
- Remix v2 to React Router v7 will be a non-breaking upgrade
- Remix is coming back better than ever in a future release with an incremental adoption strategy enabled by these changes
For Both
- React Router v7 comes with new features not in Remix or React Router today: RSC, server actions, static pre-rendering, and enhanced Type Safety across the board
The show goes on
I love how this project has evolved and I tip my hat to the Remix/React Router team. React Router feels like a cozy blanket in an ecosystem that is going through some major changes which feels uncertain and a little scary at times.
The Remix / React Router story is still being written and I’m excited to see where it goes. I’m looking forward to seeing the work they are doing to support React Server Components. A lot of people are pretty excited about RSC’s and there is a lot of room for unique and interesting implementations.
Long live React Router 🙌.