1 min read

JAMstack vs. HOTWire

JAMstack vs. HOTWire

Over the past year I’ve been playing around with a bunch of different full stack frameworks. I learned ruby and rails but it felt like the rails framework was falling behind modern frameworks.

Oh great, time to get down and dirty with React or Vue.

I spent some time learning React, Vue, RedwoodJS, & Blitz.js. Each promising to be more friendly and easier than the one before. But they weren’t. There were still complex stated to manage, routers to configure and reconfigure and a file structure that got cumbersome and confusing (where did my MVC structure  go?!). No opinions meant it was like the Wild West inside my repositories.

I was getting close to drinking the JAMstack koolaid but it didn’t feel quite right to me. Then HOTWire was released and I instantly jumped back to Rails. I quickly realized (aside from the structure and opinions that I love about Rails) that there is a fundamental difference between client rendered JS languages and server rendered. To me the client side rendered JS frameworks (I'm calling you out React) is like going to an expensive restaurant and being expected to set up your own table and dishes and silverware because the restaurant only makes and serves the food. The way I see it, the app or service should place the burden on the server to render a complete page with only few client side scripts to work through, not the end users responsibility to own a super computer to run 50,000 lines of JS.

I think for now, I'll be sticking with Rails and learning and loving HOTWire.