Capacitor wraps a web app in a native shell too. The difference is whose shell it is, and what it expects your frontend to be. Capacitor is built for a frontend that is compiled and shipped inside the app. Ruby Native is built for a Rails app that renders on the server, and it keeps the shell on our side.
Capacitor is an open source runtime from Ionic, now part of OutSystems. It takes the output of your web build, the index.html and assets in webDir, bundles them into an iOS project and an Android project, and exposes native APIs to that JavaScript through plugins: camera, push notifications, the file system, and a large community library. It can load an external URL instead, but Capacitor's own config reference says server.url is intended for live reload servers and not for production.
Those two projects are yours. Capacitor 8 needs Node 22, Xcode 26 or newer for iOS, and Android Studio 2025.2.1 or newer for Android, and someone on the team to keep all three current as Apple and Google move. The hosted side, Appflow, stopped taking new customers in February 2025, and existing customers keep access through December 31, 2027. Capacitor itself stays free and maintained.
config/ruby_native.yml, and navigation bar buttons, menus, forms, and push are view helpers in your templates. Advanced Mode adds native push and pop transitions with one line.| Capacitor | Ruby Native | |
|---|---|---|
| Your frontend | Compiled and bundled into the app | Served by your Rails app, as it is today |
| The native projects | Yours to maintain, in your repo | Ours to maintain, with a copy to download any time |
| Tooling your team installs | Node, Xcode, Android Studio | The gem |
| Native features | Plugins, called from your JavaScript | Signals in your HTML, read by the app |
| Builds and signing | Your Mac or your CI | Cloud builds, signed with your certificate |
| Store listing and submission | App Store Connect and Play Console by hand | A file in your repo, one command, or your agent |
| New iOS and Android releases | Update Capacitor, the plugins, and both projects | Handled once, picked up by your next build |
| Cost | Free, plus the developer who maintains it | $199 a month per app |
From Capacitor to Ruby Native, your Rails app needs nothing beyond the gem and the generator. If your frontend is a bundled single-page app and Rails is only its API, Ruby Native is not a fit, because there are no server-rendered pages to load. Inertia apps are the exception and work as-is. See Inertia.
From Ruby Native to Capacitor, or to anything else, the source you download is a normal Xcode and Android Studio project, and you keep it if you cancel.
The business comparison, against hiring a mobile team, an agency, or a React Native rebuild, is on Why Ruby Native. Try the demo app on your phone from /try, or email Joe at [email protected] with your app's URL.