Mobile
Our mobile strategy is a thin Hotwire Native shell over the existing mobile web app. The apps load the same Rails views inside a system web view and add native chrome — a tab bar, native navigation, modals for forms. There is no Swift rewrite: a new feature is a Rails deploy, and the binary rarely changes.
iOS is first (the shell exists in the immersive repo under ios/). Android is deliberately deferred until the iOS app has shipped and produced usage data, as are fully native (SwiftUI) screens and bridge components.
Two pages:
- Hotwire Native Guide — how our shell works and how to work on it: Rails-side setup, path configuration, the tab architecture, sign-in, bridge components, design rules, deployment.
- Hotwire Native Reference — lookup tables and snippets for while you are coding: API names, path-config properties, file paths, error symptoms.
These pages replace the full 15-chapter Hotwire Native tutorial (per the decision on immersive#613). The tutorial — including the step-by-step iOS/Android project setup, the SwiftUI and Jetpack Compose chapters, and the push-notification walkthrough — lives in git history in the immersive repo at docs/technical/turbonative/, in any commit before #613 landed.