Native apps are hard. They are expensive to build and even more expensive to maintain.
What if that wasn’t the case? What if every time you built a new workflow in your Rails app, your mobile app got that feature for free?
This is possible with Turbo, a small framework from the geniuses at Basecamp. Follow this series of posts to learn how to build a hybrid iOS app from scratch. All you need is a mobile website powered by Ruby on Rails.
Follow along as we build a hybrid iOS from scratch alongside the supporting Rails code.
This introduction covers the benefits of hybrid apps and how Turbo helps bridge the gap between web and native. It also breaks down the code in the Quick Start guide from the Turbo wiki line by line. A perfect place to start for those new to Turbo or hybrid in general.
The second article covers everything related to routing URLs. This includes visit actions (advance vs. replace), path configuration, error handling, and native view controllers. It also touches on how forms work in Turbo iOS and why you might be running into issues with your Rails app.
Part 3 covers slightly more advanced topics: forms and basic authentication. Learn how to install Turbo in Rails 6, add custom form handling for the iOS client, and get up and running with web-based authentication.
One major limitation of web-only authentication is, well, it’s web only. Native authentication, on the other hand, opens up a world of possibilities. It breaks your app out of the web world and enables fully native screens. Meaning, you can integrate native SDKs like location services and push notifications. Or, you can render SwiftUI views for the really important stuff.
To wrap up the series I’m sharing tips and tricks I’ve picked up over the years that range from making development easier to making the app feel more native. How to dismiss a modal after submitting a form, fixes for double pushed controllers, disabling link previews (Force Touch), and more.