⚡️ 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.
