Introduction
Welcome to the course
Why Hotwire?
Rails Application Introduction
Turbo Drive
Importmaps with Rails
Enabling Turbo Drive
History pushState
Turbo Page Cache
The data-turbo Attribute
Turbo Link Prefetching
data-turbo-confirm
Turbo Custom Confirm Modal
Disabling Form Buttons
data-turbo-submits-with
data-turbo-method
data-turbo-temporary
data-turbo-track
View Transitions
Form Redirects And Errors
Turbo Frames
Web Components From Scratch
Turbo Frame Inline Editing
Search With Turbo Frames
Hovercards With Turbo Frames
Infinite Scroll Turbo Frames
Turbo Streams
Turbo Streams Introduction
Turbo Streams From Scratch
Turbo Stream HTTP Responses
Turbo Stream From Websockets
broadcasts_to And turbo_stream_from
Broadcastable Module Source
broadcasts_refreshes
My Todos broadcasts_refreshes
Morph And Scroll Preservation
Stimulus
Autosubmit with Stimulus
Hotwire Spark and Autogrow Textarea
Mutation And Intersection Observers
Turbo Events With Stimulus
Wrapping Third-Party Libraries With Stimulus
Morphing With Third-Party Libraries
Stimulus Targets
Stimulus Values
Stimulus Value Changed Callbacks
Stimulus Actions
Keyboard Events With Stimulus Actions
Action Params With Stimulus
CSS Classes With stimulus
Default CSS Classes With Stimulus
Bound Functions And Event Listeners
Stimulus Controller Inheritance
Stimulus Target Callbacks
Stimulus Outlets
Turbo Morph Event With Stimulus
More Hotwire
Cleaning Up The Edit View
Custom Model broadcasts_to
Debugging Turbo Frames
Custom Turbo Stream Actions
Modal Dialogs with Hotwire
A new Rails app for Modal Dialogs
Inserting the Dialog Element with Turbo Streams
Opening the Dialog modally with Stimulus
Embedding Forms in Dialogs with Turbo Frames
Close Dialog Buttons
Cleaning up with the Dialog Close Event
Redirecting Out Of Turbo Frame Server-side
Closing The Dialog And Updating The Page
Refactoring The Dialog Stimulus Controller
Source Code Walkthroughs
How Trix Supports Morphing With Web Components
iOS
Introduction to Xcode
More Coming Soon!
Introduction to Swift: Variables and Optionals
Introduction to Swift: Data Structures
Introduction to Swift: Control Flow
Introduction to Swift: Functions
Introduction to Swift: Enums
Introduction to Swift: Classes
Introduction to Swift: Extensions and Protocols
Introduction to Swift: Structs
Introduction to Swift: Typecasting
Where to Learn More about Swift
Android
Introduction to Android Studio
More Coming Soon!
Introduction to Kotlin: Variables and String Interpolation
Introduction to Kotlin: Type Inference
Introduction to Kotlin: Collections
Introduction to Kotlin: Control Flow
Introduction to Kotlin: Functions
Kotlin Classes
Kotlin Nulls
Hotwire Native iOS
Coming soon!
Up and Running with Hotwire Native iOS
Local Path Configuration
Remote Path Configuration
Path Configuration Documentation
Using CSS to make our app feel more native
Native Tabs - Part 1
Native Tabs - Part 2
Native Tabs - Part 3
Rendering a Native Screens
When to go Native
Learn More about iOS Native Development
Bridge Components - Form
Bridge Components - Overflow Menu
Bridge Components - Haptic Engine
Tricks and Tips
Refresh All
Hotwire Native Android
Coming soon!
Up and Running with Hotwire Native
Path Configuration
Remote Path Configuration
Learn More about Path Configuration
Setting Up Jetpack Compose
Rendering a Native Screen
Native Tabs - Part 1
Turbo Link Prefetching
Continue learning Hotwire
Get access to the entire course and master Turbo, Stimulus, and Hotwire Native.
Buy the course to unlock this lesson's notes.