 ive been building on the web for a long time theres a part of me that still has a bit of an old school mentality and its hard for me to get really excited about new technology sure react was cool when it came out for its state management but i didnt see it as the be all and end all for building on the web i really like craft cms for building cms powered sites since i have full control over the html being sent to the browser and its really easy to extend for complex functionality but it can be a bit complex to setup for beginners and with additional complexity can come performance issues so its been a while since ive seen something to be really excited about enter remix remix is an interesting mix of old school techniques along with modern technology ryan florence actually sums it up perfectly as to where remix fits in forget full stack remix is center stack its an http tunnel between interactivity and business logic its the part of the stack that no tool before it has solved not completely i think i finally know how to talk about remix ryan florence ryanflorence january 15 2022 i was able to easily switch my site that was fully powered by craft to utilize craft only as a graphql endpoint and remix powering the rest the two big things i needed to figure out were how to get data from the graphql endpoint and then how to process input from a user for my contact form i would definitely recommend reading through the remix docs and the two tutorials but if you can understand these two big pictures things youll have enough to get started with remix and go deeper once you get into it getting graphql data aka loaders remix provides a loader hook that runs on the server to hydrate your component in this simple example i run a graphql request and return json with the results of that request in the loader function view gist then in my index component i access the data from the loader hook with useloaderdata and my component is now hydrated with that data in mvc style of thinking think of the loader hook as the controller processing the page load request populating with data from the model and then passing to the view the great part about remix is that this doesnt have to be specifically a graphql request this data can come from anywhere the jokes tutorial in the remix docs even thoroughly walks through how you can manage all this data in prisma processing user input aka actions ok great so weve got data onto the page but now we need to be able to handle user input remix also provides an action hook to process an action request ex a form submission in my case i have a contact form that sends me an email via sendgrid after submission view gist if you dont include an action attribute on your form it will automatically submit to the same page again in mvc thinking the action would again be equivalent to the controller taking the request input and processing it but honestly this takes me back 15 years when form actions would point directly to php files bonus progressive enhancement since remix is running on the server you can turn off javascript and everything still works great data still loads form actions still process its beautiful this is not running loaders and actions on the client side its running them on the server this isnt an accident the remix team is carefully considering the ux user experience ux and developer experience dx are both important ux is more important than dx remix run has taught me its easier to start with a great ux and work toward a good dx than it is to start with a great dx and work toward a good ux kent c dodds kentcdodds january 15 2022 bonus so speedy did i mention how fast everything renders i dont tend to put too much stock into lighthouse scores since they seem so random but remix crushes lighthouse without me having to invest any additional effort into improving performance give it a shot remix is built on the native fetch api so it can run anywhere while remix is relatively new its certainly production ready and there is a dedicated team behind it if you arent ready to dive into remix yet at least keep your eye on it because this is a game changer 