About a month ago, I revamp my personal website using NextJS (I wrote a blog post about it here). It was an interesting experience and I am pretty happy with the results and performance.
However, Remix is released as stated in my previous post and I am keen to try it on building some project. Therefore, I decide to move my personal site to Remix from NextJS. It is not that NextJS is bad or anything, just that I wish to try out Remix DX and also I am interested to learn more about Remix as well.
Therefore, I spent about 2 days with few hours day to migrate my personal site from NextJS to Remix. Overall, it is a pretty good experience!! As transition pretty smooth.
Overall Thoughts on Remix
The nested routing is good!!
I really enjoy the nested routing in Remix, it is kinda like the nested routing in NextJS but with more features, such as Index Route.
├── invoices │ └── index.js └── invoices.js
In this case
invoices/index.js will be apply into the invoices.js as
<Outlet/> component. With something like below.
// invoices.js file <Invoices> <Outlet/> // <-- invoices/index.js will be insert here </Invoices>
Therefore, when we have nested files, it will result in nested urls + nested layout as above.
Nested files = nested urls + nested layouts.
mdx support on the go
MDX is directly supported in Remix without any further configuration!!
Server side rendering
Remix is a framework that provides only server side rendering, while do not have any other features from NextJS such as ISR or static site generation.
Support PostCSS, CSS in JS libraries.
Config and transition is pretty easy for using any CSS libraries such as tailwind, styled components and more.
Form submit like HTML
I like this quite a lot, it make form submit pretty simple as in HTML when I started learning web dev. However, we might need to see how it gonna handle complex form as in other JS frameworks using state management or anything else (as personally one of the pain-point with HTML form submit is it is quite rigid to some point).
Overall, I felt Remix is pretty well architectured (quite different from current available JS Frameworks) and have its own benefits that could be used in by developers to built web applications that are scalable and performant.
Lastly, you can view my personal website which are migrated to Remix here.