Reusable Turbo-iOS Project Configured Entirely From Your Rails App

Dale Zak
5 min readJun 25, 2021

Ever since I started building Rails app, I’ve dreamt about one day building mobile apps in Rails. Well, that day has finally arrived, thanks to Turbo-iOS!

With Turbo-iOS you can basically point an iOS app to your backend Rails app, it handles the native navbar functionality and pushing views however the content of those views is simply your backend web app.

Build high-fidelity hybrid apps with native navigation and a single shared web view. Turbo Native for iOS provides the tooling to wrap your Turbo 7-enabled web app in a native iOS shell. It manages a single WKWebView instance across multiple view controllers, giving you native navigation UI with all the client-side performance benefits of Turbo. — github.com/hotwired/turbo-ios

This is pretty amazing, however after playing with it a bit I soon discovered it still required a lot of custom Swift code and working in Xcode. For example if you wanted to add a tabbar in your app, or needed to change your navbar colors. This is ok if you have some experience using Xcode and Swift, however it’s a major barrier for everyone who hasn’t used it before.

So this is why I created github.com/dalezak/turbo-ios-base, a Turbo-iOS base project that’s driven entirely from your backend Rails app. Clone the project, follow…

--

--

Dale Zak

Full stack developer specializing in web apps built on Rails with Stimulus, and mobile apps using Ionic and Vue.