Tony Messias

September 22, 2023

Welcome Strada

Strada is finally here! 🥳 🥳 🥳

In summary, we can make our multi-page web apps behave like SPAs with Turbo. With Stimulus, we can sprinkle JavaScript to improve UX in certain areas (Turbo already can do a lot with basic forms + links). Turbo Native turns our web navigation into Native navigation (stacking screens, showing WebView content on different UI patterns like a native modal or a native bottom sheet view). We can decide when we should go fully native based on the URI patterns.

Strada now makes it easy to enhance the behavior of our UI components based on HTML attributes and sprinkles of JavaScript. We can now make a generic native component that will connect to our web elements to enhance their behavior on mobile clients.

Instead of showing a form button inside the WebView, we can now easily show that as a native button in the title bar:

image.png


Or instead of showing dropdown menus in the WebView (which might break the illusion of native), we can now make a fully native menu component for our dropdowns:

image.png


With a few HTML attributes, sprinkles of JavaScript, and some native code (Kotlin on Android or Swift on iOS), we can enhance ALL forms or ALL dropdowns (or any other web elements) from our web application when they are presented on Turbo Native clients inside the WebView.

All this was possible before, but required a lot more custom code to fill the gaps. Strada is one more tool in our progressive enhancements tool belt. It fills an existing gap nicely, blurring the lines between web and native in Hotwired apps even more. I'm very excited about it!

About Tony Messias