Week 51 - Hotwire Native 1.1, Hotwire Spark, and more!
Celebrate the holidays with Hotwire updates, a new e-book, and live reloading for Rails! 🎄✨
Welcome to Hotwire Weekly!
Season's greetings and welcome to a festive edition of Hotwire Weekly!
Wishing you a joyful (and/or productive) holiday season. Happy reading! 🎄✨
📚 Articles, Tutorials, and Videos
Hotwire Native 1.1 released - Joe Masilotti highlights updates in Hotwire Native 1.1, including unified global path configuration, improved setup, customizable user agents, and new modal styles for iPad.
New E-Book: Master Hotwire: Build Modern Web Apps with Rails Simplicity - Radan Skorić has released the beta version of "Master Hotwire", an e-book for Rails developers to quickly get up to speed with Hotwire through building a collaborative Kanban board application. As a bonus for Hotwire Weekly readers, you can use the code HOTWIREWEEKLY
for a 30% discount until Sunday, December 29th. Thanks Radan!
Drifting Ruby: Stimulus Action Options (#487) - Dave Kimura published a new video on Stimulus "Action Options" and discusses nuances and best practices. The episode provides insights into enhancing Stimulus controllers by utilizing these options effectively.
Announcing Hotwire Spark: live reloading for Rails applications - Jorge Manrubia introduces Hotwire Spark, a live-reloading system for Rails applications that emphasizes smooth, automatic page updates. By morphing the for HTML changes, reloading stylesheets for CSS updates, and hot-swapping Stimulus controllers. Spark enhances the development feedback loop without requiring bundling or additional tooling. Spark only supports importmaps for now. In the case you are not using importmaps check out hotwire-livereload in the meantime.
Examining Hotwire Spark - On a related note, Konnor Rogers provides an analysis of Hotwire Spark, highlighting potential challenges with its morphing capabilities, especially concerning JavaScript libraries like Trix that modify the DOM without server awareness.
Getting Started with Stimulus in Rails (the Basics) - Ken Greeff walks through the basics of using Stimulus in a Rails application, focusing on creating a Stimulus controller and integrating it into a Rails view. He highlights differences in mental models compared to frameworks like React, demonstrating how Stimulus simplifies behavior attachment to DOM elements while keeping logic in controllers.
Rails + Stimulus + React - Gabriel Quaresma on the Codeminer42’s Engineering Blog explores how to enhance a Rails application by combining Stimulus for lightweight interactivity and React.js for more complex components. This approach allows developers to incrementally introduce React into their Rails projects without fully adopting a single-page application architecture, maintaining performance and ease of maintenance.
Building a Native sharing component with Hotwire Native (iOS) - Dennis Paagman demonstrates how to implement native sharing functionality in iOS apps using Hotwire Native's bridge components. The tutorial covers creating a Stimulus bridge controller for the web interface, a Swift bridge component to open the native sharing modal, and the necessary HTML markup to integrate the feature seamlessly.
How to Create Multi-Step Forms With Vanilla JavaScript and CSS - Fatuma Abdullaho provides a comprehensive guide on building multi-step forms using only HTML, CSS, and JavaScript. The tutorial covers structuring the form into sections, adding navigation, and implementing logic to manage form progression, enhancing user experience on complex forms. While not specifically focused on Hotwire, the principles and techniques discussed are applicable to Hotwire-based applications.
Jumpstart Android is now fully migrated to Hotwire Native Android - Donn Felker announced that Jumpstart Android is now fully migrated and compatible with Hotwire Native.
🧰 Libraries and Tools
stimulus-fx - Collection of useful "Action Options" for Stimulus Controllers.
hotwired/spark - Hot reloading for Hotwire (importmaps only).
hotwire-livereload - Hot reloading for Hotwire (jsbundling, and more).
🎉 Releases
hotwire-native-ios v1.1.0 - Hotwire Native for iOS.
hotwire-native-android v1.1.0 - Hotwire Native for Android.
node-turbo v1.2.3 - Library for using Turbo in Node.js applications.
hotwire_native_rails v0.3.3 through v0.4.2 - Generate Hotwire Native Rails helpers and bridge components.
hot-glue v0.6.9.1 - Simple, plug & play Rails scaffold building companion for Turbo-Rails and Hotwire.
importmap-rails v2.1.0 - Use ESM with importmap to manage modern JavaScript in Rails without transpiling or bundling.
tailwindcss-ruby v3.4.17 - A self-contained tailwindcss
executable, wrapped up in a ruby gem.
tailwindcss-ruby v4.0.0.beta.5 - A self-contained tailwindcss
executable, wrapped up in a ruby gem.
view_component v3.21.0 - A framework for building reusable, testable & encapsulated view components in Ruby on Rails.
Feel free to follow us on Twitter/X, Bluesky, or on Mastodon!
See you next week!