Designing Your API for Their API, Top Gems for Any Ruby App
👋 Howdy, fellow Rubyists!
I've got not one, not two, but three topics to cover today on Fullstack Ruby.
(Also, yes, this newsletter looks a wee bit different than in the past. That's because I'm now using Buttondown for this and my other newsletters! What other newsletters, you may ask? Why, it's all part of my newly-refreshed Intuitive+ subscription service. More on that in a minute!)
🔝 Top 10 Most Excellent Gems to Use in Any Ruby Web Application
The ecosystem of Ruby gems is rich with libraries to enable all sorts of useful functionality you’ll need as you write your web applications. However, at times it can be a challenge when you’re working within a broader Ruby context (aka not using Rails) to find gems which integrate well into all sorts of Ruby applications.
In this article, I’ll share with you some of my favorite gems you can use in your Ruby web apps. I have personal experience with all of them, and a few I’ve used extensively in the gems and frameworks I work on.
🎙️ Podcast: Designing Your API for Their API (Yo Dawg!)
It’s tempting to want to take the simplistic approach of writing “to the framework” or to the external API directly in the places where you need to interface with those resources, but it’s sometimes a much better approach to create your own abstraction layer. Having this layer which sits between your high-level business logic or request/response handling, and the low-level APIs you need to call, means you’ll be able to define an API which is clean and makes sense for your application…and then you can get messy down in the guts of the layer or even swap out one external API for another one. I explore all this and more in another rousing episode of the Fullstack Ruby Podcast.
🌇 Bridgetown 2.0 is in Beta!
Your friendly neighborhood site generator & fullstack framework (courtesy of our Roda integration) is now in beta as v2! We're looking for folks to try it out on their existing or new sites and report back with any bugs or DX isssues you might come across. We also have an exciting announcement related to the plugin ecosystem teed up as soon as 2.0 goes out the door, so stay tuned for that!
🚀 Support Fullstack Ruby with Intuitive+
OK, so I launched Intuitive+ last year primarily to support the work I did for my CSS course over on The Spicy Web. Since then, Intuitive+ has pivoted slightly to become a platform to support my writing and podcasting on a variety of technical and educational topics…including Fullstack Ruby! So if you'd like not only to (a) get more issues all about Ruby web development, but also (b) get exclusive issues simply for being an Intuitive+ member—well, that's exactly what's now possible!
So sign up for Intuitive+ today if you can. I'd appreciate it so-o-o much, and I'm jazzed to be continuing on this journey to build cool Ruby stuff with y'all. 😁
Cheers,
Jared
Things that make you think:
Another interesting idea to come out of the computing world around that time [the dawn of Unix] was the saying “worse is better“. Although this idea wasn’t a direct relative of the Unix philosophy, it’s certainly similar. The idea references the fact that additional features or complexity doesn’t necessarily make things better, and a “worse” project — one with fewer features and less complexity — is actually better because it will tend to be more reliable and usable.