Building Real Mobile Apps Without Starting Over: My Beginner Journey with HotwireNative
HotwireNative surprised me—in a good way. At first, I didn’t fully get what it was. I thought it might be another webview thing or a quick wrapper around a website. But once I started using it, I realized it’s doing something much more thoughtful. You run your app on a regular server, and instead of building separate mobile apps from scratch, your native iOS and Android apps “watch” what the server is doing and update accordingly. It feels like having a real mobile app without needing to learn a whole new language or framework.
Setting it up took a bit of reading and poking around. For iOS, you open up Xcode and bring in the HotwireNative Swift package. You point it to your backend URL, and suddenly, the app is alive—it starts navigating pages, updating views, and behaving like something you’d expect to see in the App Store. Android works similarly. You use Android Studio, include the TurboNative library, and connect it to your server. Once it’s up, both platforms are showing the same views and following the same logic, all controlled by the backend.
It’s a little strange at first because you’re still building your HTML pages the way you usually would, and somehow they’re powering a native app. You start to wonder what gets rendered where, and how it all fits together. But the more you experiment, the more it makes sense. You write a view once, and both the browser and mobile apps use it. It’s incredibly efficient.
Some things take extra work. Out of the box, the mobile version of your app might look very browser-like. To make it feel more native, you’ll probably need to write custom views for mobile or tweak your design using conditionals or separate partials. Sometimes things like login forms, file uploads, or modals don’t behave precisely how you expect until you account for how mobile browsers interact differently. It’s not frustrating, though—it’s rewarding when you solve those little quirks.
One of the best parts is how easy it is to make updates. If you change some text, update a layout, or fix a bug, you push the changes to your server. No compiling, no waiting for app store reviews. Your changes are visible immediately on both mobile and web. That makes testing and improving things a lot faster.
There are still limits. If you want deep animations, swipe gestures, or offline capabilities, you’ll probably need to learn more about the native side. But for a working, interactive mobile app that feels solid and fast, HotwireNative gets you surprisingly far.
The biggest win for me is confidence. Building a mobile app used to feel out of reach, like you needed to study for months before getting anything working. But with HotwireNative, I was able to see progress almost immediately. It may not do everything, but it does enough to help you move forward. And for someone just starting, that’s huge.