The Enduring Appeal of Ruby
Hey everybody! Sorry for the long wait since the last newsletter went out. I expected to have a bunch of content to roll out in late May, and then…well, the rug just got pulled out from under me.
But here I am. 😅 I did publish a new article on Fullstack Ruy recently, entitled What Would It Take for Roda to Win?
In the article I write:
I go on to elaborate some the particulars of what I love about Roda, and then take it a bit further to ruminate on continuing developments in web design on the frontend, what increasingly troubles me about the direction Rails has been headed in, and my efforts as I incrementally work on the Bridgetown + Roda integration to "skate to where the puck is going to be". Hope you enjoy the read!
In other news, there's a constellation of fascinating developments in how software gets built and packaged which I feel could have a profound effect on Ruby. The “enduring appeal of Ruby” as the subject line goes is it's expressiveness, elegance, internal logic, flexibility, and robust ecosystem…however, the ability to experiment with or deploy Ruby on the web quickly and painlessly has sometimes eluded us. Heroku was once born out of a goal to make deploying Rails apps a lot more straightforward, but since we've seen certain other trends in the web industry at large seemingly pass us by. Namely:
(a) Sharable Code Editors "in the Cloud"
(b) WASM (aka WebAssembly)
Thankfully it looks like we're finally seeing a rennaisance on both fronts. With services like GitHub Codespaces and GitPod, you can spin up new or existing Ruby applications in mere minutes or even seconds and edit them in real-time—without needing any local dev tools installed including Ruby. Heck, I've worked on Bridgetown projects on my iPad, and increasingly choose to do so! Why is this so important? Because one of the common criticisms of Ruby over the years has been that's it's hard to for newbies get started with. With a cloud-based IDE, that's no longer the case: you get immediate, push-button access to Ruby and all related app dependencies. No more excuses! Now anyone can learn Ruby! 😆
And then there's WebAssembly, which promises a whole new era of porting code spanning a variety of languages and ecosystems to a website near you. No longer will our frontends be constrained merely to what JavaScript affords us. In case you missed the news, Ruby compilation via WASM is now an official part of the core of the language as of Ruby 3.2 (currently in beta), and that means Ruby—real Ruby, not any sort of imitation—can now run natively in the browser*.
* As always, caveats abound with these sorts of leaps forward…namely that the Ruby runtime and compiled app code can measure in the MBs which is very poor for production-grade performance on most web projects, and just because you can get Ruby running doesn't automatically mean all your gems and other server-context tooling will suddenly work in the browser. But the work being done on this stuff right now should end up paying real dividends down the road. Maybe honest-to-goodness frontend Ruby doesn't entirely make sense in 2022. But in 2025? 2027? There is zero doubt in my mind.
I'll be covering these topics and a whole lot more on Frontend Ruby in the coming months. Let me know if you have any thoughts or questions, and I'll make sure to tackle them in a future issue of the Fullstack Ruby newsletter!
Cheers,
Jared