We put a lot of work into Jumpstart. And I recently added a Strada integration which makes forms feel a whole lot more native. 2FA is coming soon, too.
Thanks! That's the goal. This was more a test to see how quickly I could get something done. But now that it is live there are SO many features I want to add.
Last week I started a new project to scratch an itch. Something simple but useful. And in just 7 days I launched a web and iOS app to the App Store. This is the story of Daily Log, and Ruby on Rails and Turbo Native iOS app.
Turbo Native is a hybrid app framework to bring Ruby on Rails apps to iOS and Android. It's the tech that enables the HEY and Basecamp apps to launch on multiple platforms with a relatively small team of developers.
But the documentation isn't great. And there aren't many examples out there. For Rails developers, having to know Swift or Kotlin can be a huge hurdle.
My goal is to simplify the zero-to-something step. This 2-hour live session will walk through the basics of setting up your IDE, getting starting with the framework, and some pitfalls to watch out for.
After waiting for what feels like forever, I’m excited to finally explore the last missing piece of Hotwire.
Strada is an optional add-on for Turbo Native apps that enables native components driven by the web. It unlocks progressive enhancement of individual controls without converting entire screens to native.
For example, converting a <button> to a UIBarButtonItem on iOS or rendering a HTML modal with ModalBottomSheetLayout on Android.
It’s important to call out that Strada alone doesn’t unlock new features for Turbo Native apps. Everything you can do with the framework you could already do before. Albeit with much, much more code.
Strada provides structure and organization to the tangled mess that is the JavaScript bridge. It simplifies and standardizes communication between web and native components, which makes building robust native elements a joy.
Just my 2¢, having worked with Turbo Native for 6+ years now.
I'm not sure I fully understand how it works. The intention is to start out with a WebView app, but slowly replacing the components that might need it with native components, right?
This isn't a React Native Web like approach where you try to cover the same surface area, but rather an individual implementation of each screen, so you could tweak and modify it for the given platform if needed?
Is it possible to embed native controls inside a webview or does this approach only work top down, i.e. does a components parent need to be native for it to be possible to be rendered natively?
Turbo Native's goal is to reuse all your existing mobile web screens in your native apps. Strada helps progressively enhance them by slapping on a native component here and there.
You get baseline HTML coverage for free – Strada makes it easier to make things a bit more native.
Oh hey, that's me! Thanks for the shout out, Brad.
I'm writing up my thoughts on the Strada launch right now. It will hit my newsletter, blog, and RSS feed tomorrow morning.
tl;dr - Strada alone doesn’t unlock new features for Turbo Native apps. Everything you can do with the framework you could already do before. Albeit with much, much more code. Strada provides structure and organization to the tangled mess that is the JavaScript bridge.