First thoughts on Remix

I gave Remix a quick spin following their “Jokes App” tutorial and gathered some notes. These are just my initial thoughts during my first contact with the framework. For a proper introduction, read the documentation.

Remix is a seamless server and browser runtime that provides snappy page loads and instant transitions by leveraging distributed systems and native browser features instead of clunky static builds. Built on the Web Fetch API (instead of Node) it can run anywhere. It already runs natively on Cloudflare Workers, and of course supports serverless and traditional Node.js environments, so you can come as you are.
From the Remix homepage.

The website is the result of a great amount of marketing effort. It’s amazing what JS frameworks do these days to get noticed. Regardless of whether the framework lives up to the hype or not, I get a strange feeling from the website: the language attempts to be humorous and light, and this doesn’t help me build trust.

From my notes, the most interesting parts are probably on the <ScrollRestoration /> component and on the loader pattern.

On setting up Remix #

The <ScrollRestoration /> component #

It’s implemented here and works roughly so:

On first-contact DX #

On TypeScript use #

That’s it for now! I’ll probably give Remix a proper try once I have a need for it. I feel like the typing issues I mentioned can be avoided through discipline, and the DX looks promising.

Relevant documentation: