⚡️ Hotwire dev newsletter - December 2021 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! Rails 7 was officially released yesterday and oh boy am I excited. The biggest change is “all new answers on the front-end” which means you can kiss Webpacker goodbye. We also have a brand new podcast from Jared White, why DHH thinks “the time is right for Hotwire”, and an in-depth article on building a real-time chat app.

I’m also excited to announce that RailsDevs is closing in on the first 100 developer profiles! There’s a lot of upcoming work planned like in-app messaging, payments, and moderation. Check out the GitHub repo if you’d like to get involved in the open source development.

📰 News

Rails 7 release

Rails 7 is officially here! I’m most excited about the new answers for the front-end and encrypted attributes in Active Record. I’ve been pointing to Rails master for a while on RailsDevs and let me tell you - not futzing with Webpacker is amazing.

turbo-ios 7 RC4 and RC5

turbo-ios is the framework I use to build high-fidelity hybrid mobile apps powered by your Rails app. Version 7 is coming soon to align with Rails and here is the 4th release candidate. Bonus: a contribution from yours truly made the cut!

🎙📹 Podcasts and videos

Fullstack Ruby - Episode 1

by Jared White @jaredcwhite

Jared White, creator of Bridgetown, launched a new podcast, Fullstack Ruby. This teaser episode is all about Ruby2JS, a Ruby to JavaScript transpiler 🤯. He covers what’s so great about writing JavaScript if JavaScript had Ruby’s syntax and was inspired by Ruby’s stdlib and ActiveSupport.

Dabbling with Turbo

by Dave Kimura @kobaltz

0 to CRUD powered by Turbo. Dave dives into the bit of code needed to get Turbo working with DELETE routes, form validations, and JavaScript confirmation prompts. All of this is handled with HTML over the wire, so no additional JavaScript is needed.

Refactoring Javascript with Stimulus Values API & Defaults

by Chris Oliver @excid3

Chris from GoRails updates his countdown timer JavaScript to use the new Values API from Stimulus. This update is great for reducing code duplication and tightening up the contract between your HTML markup and Stimulus controllers.

📝 Articles

The time is right for Hotwire

by David Heinemeier Hansson @DHH

DHH highlights why there is a flood of developers who are fed up with SPAs and JavaScript-powered front ends. He covers how Rails 7 and the Hotwire stack aim to remedy this and bring joy back to web development.

Why Hotwire in 2021

by Cédric Fabianski @cfabianski and Elizabeth Braae

Another company that migrated to microservices and React has now doubled-down on Hotwire. Cédric and Elizabeth demo two interactive features built with Turbo that no longer require any custom JavaScript. They also touch on the future of Hotwire (spoiler: they think it’s great but the docs could use some love).

🎓 Tutorials

Building a Real-Time Chat App in Rails Using ActionCable and Turbo

by Abiodun Olowode @AbiodunAjibade3

This is as close to pure Rails as you can get. No gems in this tutorial, not even for authentication! Follow along as Abiodun takes you from rails new to a live-updating chat room in this tutorial. And the only custom JavaScript you need to write is to clear the form after sending a message.

How to migrate Rails UJS to Hotwire (Turbo)

by Thomas Van Holder @TheVanHolder

A quick, code-focused tutorial on the 6 steps to bring full rails-ujs feature parity to your Turbo app. This includes DELETE links, confirmation dialogs, and disabling buttons on form submissions.

Dynamic filters with Rails and Hotwire

by Benito Serna @bhserna

A practical example of using Turbo frames to dynamically filter a large dataset. Doing that actual filtering in Rails means we can get as complex as we want with our filters and not have to worry about implementing them in JavaScript (twice!).

👩‍💻👨‍💻 Jobs

Hire Dana Scheider

Dana Scheider is a senior full stack engineer at Envato. She specialises in building professional Ruby, Rails and React applications and has spoken at conferences globally on software testing and technical writing. Dana has been active in open source throughout her career and is on the Cucumber core team.

Hire Rishi Pithadiya

My name is Rishi and I am experienced Ruby on Rails developer 💎 based in India 🇮🇳. I help people learn web development and frequently share Ruby on Rails tips on various social media platforms.

And finally…

Andrew got his Jumpstart iOS app officially on the App Store today! This is the first app using the template to go live and a huge milestone for the project.

Joe Masilotti
@joemasilotti joe@masilotti.com