Week 39 - Rails World 2024, Hotwire Native, Hacktoberfest, and more!
Hotwire Weekly recaps Rails World 2024 and unveils exciting updates for Rails 8!
Welcome to Hotwire Weekly!
Welcome to another issue of Hotwire Weekly! Rails World 2024 in Toronto, Canada has concluded, and DHH delivered the opening keynote. While there weren’t many Hotwire-specific announcements, numerous topics aligned with the Hotwire spirit.
Rails 8 aims to simplify the stack, making it easier than ever to start and scale Ruby on Rails apps, from Hello World to IPO, without extra dependencies.
Some key Frontend/Hotwire-related updates include:
- Propshaft - A modern, simplified asset pipeline, replacing Sprockets. Default in Rails 8.
- Solid Cable - A database-backed adapter for Action Cable, now the default in Rails 8.
- Action Notifier - A framework for web push notifications, slated for Rails 8.1.
- Action Text - Now with Markdown support via House MD.
➡️ Opening Keynote: Rails World 2024 - David Heinemeier Hansson
Happy reading! 🚀✨
📚 Articles, Tutorials, and Videos
Announcing Hotwire Native - Jay Ohms announces "Hotwire Native," a new framework that consolidates Turbo Native and Strada, providing a unified approach for building hybrid mobile apps. It allows developers to progressively enhance their existing Hotwire web apps with native components in iOS and Android. The update simplifies configuration, improves navigation, and introduces "Bridge Components" for high-fidelity features without additional integration.
Rails Developers, Your iOS Career Starts Now: Hotwire Native 101 - Kaleb Lape uploaded a Hotwire Native 101 YouTube video looking into the newly announced Hotwire Native Framework.
Announcing PhlexyUI: A Ruby component library for DaisyUI - David Alejandro announced PhlexyUI - a component library for building fast object-oriented HTML components - built on top of DaisyUI, the most popular component library for Tailwind CSS.
Drag & Drop Images with Preview using Stimulus Outlets - Rails Designer explains how to use Stimulus to add drag-and-drop image functionality with a live preview. The article covers setting up Stimulus controllers for handling drag-and-drop events, updating the image input, and showing a preview using Stimulus outlets.
Master Realtime Rails - Harness the power of Realtime in Rails with Hotwire - Rob Race discusses how to implement Turbo 8 morphs, presence channels, and typing indicators in Rails. He explains using Turbo Streams for smoother DOM updates, building presence indicators to show active users, and setting up typing indicators to enhance real-time user interaction in a chat-like interface.
Leveraging Turbo 8: Best Additions to Implement in Rails 8 Projects - Rob Race announced an upcoming ebook that teaches how to build real-time Rails 8 applications using Turbo, Stimulus, and ActionCable. It offers step-by-step guidance on creating interactive web apps, with access to code, updates, and a developer community.
Leveraging Falcon and Rails for Real-Time Interactivity - Samuel Williams discusses leveraging Falcon and Rails for building real-time interactive web applications. He details the evolution of concurrency tools like Async, Rack 3, and Falcon, and introduces the Live and Lively gems for creating server-side rendered and interactive applications in Ruby.
How Propshaft Works: A Rails Asset-Pipeline (Visual) Breakdown - This article by Jon Sullivan on Judoscale provides a visual breakdown of how Propshaft works as a Rails asset pipeline. It explains how Propshaft handles asset fingerprinting, generating unique hashed filenames for static assets to improve caching and prevent conflicts. Propshaft is the new default asset pipeline in Rails 8.
From jQuery to Hotwire - Lessons of a successful migration - Fabien Loup shares his experience migrating a Rails app from jQuery to Hotwire. He highlights a gradual approach, initially adding new functionality with Stimulus and progressively replacing jQuery and Rails UJS. He additionally provides practical migration tips, like using a global Stimulus controller to manage legacy behaviors and deactivating Turbo Drive globally during early transitions.
Building a Form Builder with Ruby on Rails, Turbo, Stimulus, and Tailwind CSS - Carl Weis live-streamed exploring Turbo and Stimulus by building a form builder with reusable form fields. The long-format recording is available on YouTube.
🧰 Libraries and Tools
live - Provides bi-directional live HTML views using WebSockets for communication.
lively - A Ruby framework for building interactive web applications for creative coding.
🎃 Get Involved: Join the Hacktoberfest fun with Hotwire.io
Hotwire.io is a community-driven hub meant to support Hotwire developers like you. We encourage you to get involved, contribute, and help shape the Hotwire ecosystem.
If you're eager to earn your limited-edition swag while making a meaningful contribution, consider submitting pull requests to hotwire.io.
It's a fantastic way to support the Hotwire community and make your mark on the project. Let's code, collaborate, and celebrate! 🍁🎃🌟
If you want to contribute and don't know where to start or want to pair on a feature if that's more comfortable for you, please reach out to @marcoroth_. He's more than happy to help you get you started and involved!
🎉 Releases
rails v8.0.0.beta1 - A modern web-application framework that includes everything needed to create database-backed web applications.
solid_cable v3.0.1 and v3.0.2 - A database backed ActionCable adapter.
view_component v3.15.0 - A framework for building reusable, testable & encapsulated view components in Ruby on Rails.
tailwindcss-rails v2.7.6 - Tailwind CSS for Rails.
propshaft v1.0.1 - The new default asset pipeline for Rails 8.
Feel free to follow us on Twitter/X or on Mastodon!
See you next week!