⚡️ Hotwire dev newsletter - February 2022 edition

A curated, monthly roundup of the best Turbo (Native), Stimulus, and Strada articles, code, courses, and more by Joe Masilotti.

Welcome back to the ⚡️ Hotwire dev newsletter! If you check out one thing from this edition I recommend the Hotwire Example Template repository from Sean Doyle at thoughtbot. 19 (!) example Rails applications to play with all showcasing different Hotwire features in different git branches.

This month also links to a free (and open source!) course on building Rails apps with Turbo, a tutorial on how to create dynamic forms with Stimulus, and the annual Ruby on Rails survey from Planet Argon.

Don’t forget, the RailsConf call for proposals (CFP) submission deadline is due this weekend. My proposal is a talk on porting your Rails app to iOS with Turbo Native – it’s my first RailsConf proposal so fingers crossed it gets accepted! 🤞

🎓 Tutorials

Learn modern Ruby on Rails with Hotwire

by Alexandre Ruban @alexandre_ruban

A free and open source course on building apps with Turbo. Currently, 6 chapters are published which cover topics like simple CRUD controllers, real-time updates, and even a bit on Turbo Streams and security. Each chapter includes mockups on what you are building and example code to follow along.

The Stimulus Trigger Pattern

by Jose Farias

A pragmatic and practical approach to a common problem with Hotwire: how do I submit a HTTP request after a Turbo Stream is rendered? Jose walks through how they built a shared space for two entities to communicate with each other, powered by Hotwire and some Liquid templating.

Dynamic forms with Stimulus

by Sean Doyle

Do you really need those JavaScript sprinkles in your form? Maybe, but what about the folks that don’t have JavaScript enabled? This tutorial walks through progressively enhancing a standard HTML form. A Stimulus controller is added to dynamically hide certain inputs.

📝 Articles

Global Presence; I made a thing

by overstimulated @overstimulat3d

Ruby on Rails + StimulusReflex + Fly.io - hand-written JavaScript = ???

Global Presence: an experiment, is a POC using the latest Hotwire stack to do some pretty cool things. There’s a global lightbulb that can be toggled by anyone visiting the page, a chat room of sorts, and a live-updated overview of users currently online.

Rails Survey 2022

by Planet Argon @planetargon

Planet Argon is back with the 2022 edition of their annual Ruby on Rails survey. Each year (since 2009!) they’ve polled the community on their Rails workflow. As always, they plan to publish the results when the survey closes on April 30.

📹 Videos

Action Cables Explained: The Ultimate Beginner Guide

by Ce Manalang

Ce walks through why Action Cable is so powerful and how it works in great detail. Starting with static websites, then working through Turbolinks (I haven’t heard that in a while!), touching on SPAs, and then finally example code for a full-stack Action Cable example.

Inline Editing with Turbo Frames in Rails

by GoRails @GoRails

This episode of GoRails was created by Sean Doyle, Turbo source contributor and the creator of the Hotwire Example Template repository linked above. It covers how to implement inline editing in a reusable manner so you can inline edit any field across any model.

🐙 Open source

Hotwire Example Template

by thoughtbot @thoughtbot

19 (and counting!) examples demoing a Hotwire feature with a fully functioning Rails app. Learn how to build an alert button, nested attributes, typeahead search, tooltips, live previews, and more. Each feature has its own branch on GitHub making it easy to see the changes at a glance.


by Joe Masilotti @joemasilotti

Did you know that my reverse job board for Rails developers, RailsDevs, is also open source? I manually review each PR with tips and ideas on how to improve the code. If you’re new to OSS or looking to make your first contribution I recommend you check out the repo and pick up an issue.

👩‍💻👨‍💻 Jobs

Hire Musa Kurel

I am Junior Fullstack Developer, have experience with Ruby on Rails, Node.js, Express, MongoDB, React and Redux. I would love to join a startup that provide me career development opportunities.

And finally…

Some CSS code to make it easier to work with Turbo Frames.

Joe Masilotti
@joemasilotti joe@masilotti.com