⚡️ Hotwire dev newsletter - February 2023 edition
Turbo (Native), Stimulus, and Strada articles, code, courses, and more. Plus exclusive insights into how I build Turbo Native apps. Delivered monthly.
Welcome back to the ⚡️ Hotwire dev newsletter!
This month we have an exciting announcement from The Rails Foundation, official Turbo support from Devise, and a bunch of updates about upcoming conferences.
And it’s exciting to see two Turbo Native articles make it into the newsletter this month! Even if one of them was written by me. 😆 Anyone else wish there was more content around this topic?
Speaking of, this month I’ve been exploring a new approach to building iOS apps with Turbo Native. One that makes navigating between screens easier and more approachable for developers new to the framework.
The idea sparked from a call I had with a client. My first paid advisory call, too! 🎉 They are comfortable building a Turbo Native MVP but can’t connect the dots between different navigation workflows.
I’m excited to see where I can take this approach and how changes can be potentially merged upstream to the framework itself.
Amanda Perino is our new executive director for The Rails Foundation
Let’s all give Amanda a warm welcome and congratulations as the new executive director of The Rails Foundation! Amanda will lead the mission to improve the documentation, education, marketing, and events in the Rails ecosystem.
The announcement also hints at news about the first official Rails conference from the organization. 👀
Devise v4.9.0 released with improved Turbo support
After 1.5 years of workarounds, hacks, and monkey patching, Devise now officially supports Turbo out of the box. 🎉
To keep backwards compatibility, you can customize response status codes from Devise controllers. For compatibility with existing Hotwire apps, configure the following.
# config/initializers/devise.rb Devise.setup do |config| config.responder.error_status = :unprocessable_entity config.responder.redirect_status = :see_other end
What’s New in Rails 7.1
by Emmanuel Hayford @siaw23
This dot release has a ton of features I’m excited about! My favorites: support for common table expressions removes some boiler plate when dealing with Arel queries,
stub_const is now built in to
ActiveSupport::TestCase and doesn’t require a third-party gem, and
#update_attribute! (note the bang) because I usually want to call
Ruby for Beginners book
by Andrea Fomera @afomera
A perfect book for beginners looking to learn Ruby. This books starts from zero and builds on the basics of the command line. It walks through installing your development environment and then into the basics of Ruby.
🎟️ Conferences and meetups
RubyConf Mini videos available
All 29 videos from RubyConf Mini are now available to watch on YouTube. This playlist, which includes RubyConf 2022, totals a whopping eighty videos. 44 hours of Ruby content to enjoy!
RailsConf 2023 registration is open
You can now buy your ticket to RailsConf 2023, taking place April 24-26 in Atlanta, Georgia.
I attended my first ever RailsConf last year in Portland and met a ton of amazing people. Folks I had only previously interacted with on Twitter and people I met for the first time. I’m hoping to make it out again this year.
Rails SaaS Conference registration is open
by Andrew Culver @AndrewCulver
Following up on the first ever Rails SaaS in Los Angeles last year, Andrew is running a second edition in Athens, Greece on June 1-2. The speaker list is live and registration is open.
Rails SaaS has some of the highest production quality of any conference I’ve ever attended. Take a look at the videos from Los Angeles if you need proof. 🤩
Friendly.rb, a new Ruby conference
Announced recently on Twitter, this new Ruby conference has a focus on community and will be kept to 100-ish attendees. It takes place in Bucharest, Romania on September 27-28. Early bird tickets are on sale now.
by Jon Allured @jonallured
If you can’t make RailsConf or Rails SaaS this year then check out this list from Jon. It’s an aggregate of the upcoming Ruby/Rails/Hotwire conferences scheduled with links to buy tickets, submit proposals, and more.
Ruby Groups Around The World
by Dorian Marié @dorianmariefr
Looking for something a bit closer to home? This list from Dorian at thoughtbot is a regional directory of Ruby groups around the world, grouped by country, state, and city. Try ⌘F to search for your city.
IndieRails - Episode #2
by Jeremy Smith @jeremysmithco, Jess Brown @bjessbrown, and Joe Masilotti @joemasilotti
I had the honor of being the first ever guest on the IndieRails podcast! Jeremy, Jess, and I talked about my first dev job, how getting let go kicked off my independent career, and how RailsDevs emerged.
Hotwiring Multi-Platform Rails Apps with Ayush Newatia
by Jared White @jaredwhite and Ayush Newatia @ayush
Fun fact: Ayush’s book, The Rails & Hotwire Codex, taught me about the hidden native routes built into the Hotwire Rails gem. Check out this episode to learn more about the book, Hotwire development, and why “vanilla” is awesome.
Code and the Coding Coders who Code it - Episode #17
by Drew Bragg @DRBragg and Joe Masilotti @joemasilotti
Drew and I dove into how I build in public, what it took to get RailsDevs off the ground, and how I combat burnout when I’m struggling to get stuff down.
📱 Turbo Native
Bringing Card Table to the small screen
by Jirka Hutárek
The latest 37signals dev blog is all about mobile. Jirka breaks down how they migrated a Kanban board from desktop to small screens.
A screen like this requires high-fidelity interaction. So they went native first then filled in the gap for mobile web with an MVP-like implementation. Another great example of bringing a Rails app to iOS/Android with Turbo Native!
Progressively enhanced Turbo Native apps in the App Store
by Joe Masilotti @joemasilotti
Here’s how 6 businesses are using Turbo Native to make high-fidelity mobile apps with native SDK integrations. Offline access, instant loading home screens, geofencing, and more. These apps tap into the power of the operating systems in ways that aren’t possible with “just” a mobile website.
Advanced Turbo Streams in Hotwire
by Pete Hawkins @peteyhawkins
A quick and practical example of how to use a Turbo Stream to update content on a page asynchronously. Pete uses a checkout flow with a “payment processing” page to illustrate his point. After kicking off a background job (
sleep 3 😆) the processing page automatically renders the success message, all without a redirect.
Create a drag and drop sortable list using Hotwire
by Pete Hawkins @peteyhawkins
Another five minute video from Pete, this time using Sortable.js and the
acts_as_list gem to create a drag-and-drop list powered by Hotwire. The video includes the Stimulus controller to wire up the library as well as the Ruby code needed to receive and post updates to the database.
A quality of life Stimulus.js controller
by Spinal CMS @SpinalCms
A little Stimulus controller that makes filling out repetitive forms a little less painful.
When running in development, it adds a button to the page when a form is found. When clicked it fills in number, email, and password fields with random data. Perfect for speeding up manual testing! 🏎️