"Should I build an app, or just a mobile-friendly website?" — and if an app, "native or cross-platform?" — are the two questions we get most often from clients thinking about mobile. There's no universal right answer. The best choice depends on what the app actually needs to do, who's using it, and how the business operates.
Here's the framework we walk through with every client considering mobile.
Step 1: Does it need to be an app at all?
A surprising number of "I need an app" conversations end with us recommending a really good mobile website instead. If the experience you're describing is essentially a website that loads on a phone — browsing, reading, simple forms — you can build it as a responsive web app and skip the App Store entirely. No download friction, no review process, no platform fees.
Apps make sense when at least one of these is true:
- You need offline functionality.
- You need access to hardware features — camera, GPS, push notifications, biometrics.
- The experience genuinely benefits from being on the home screen and in the app switcher.
- Your users are accessing it repeatedly throughout the day.
If none of those apply, save the budget and build a faster website.
Step 2: Who's using it?
The next question is audience. If your users are primarily on iPhone — common for premium consumer products, US-only businesses, and many B2B tools — native iOS is usually the right choice. iPhone users notice when an app feels native, and they reward that with retention.
If you genuinely need to launch on both iOS and Android from day one, and you can't afford to build twice, cross-platform tools like React Native and Flutter become much more compelling. They've matured significantly. For many use cases — content apps, dashboards, internal tools — the difference between native and cross-platform is invisible to end users.
Step 3: How often will it ship?
This is the question that tips the balance more than people expect. If you're going to update the app every two weeks for the next three years, you're going to feel the difference between maintaining one codebase and two. If you're going to launch v1, polish it for six months, and then mostly leave it alone, the build-time savings of cross-platform matter much less.
Where we land most often
For consumer-facing apps in the US where iOS dominates the audience, we usually recommend native Swift / SwiftUI. The development experience is excellent, the performance is uncompromising, and the result feels right on iPhone. Our work for CUPS Frozen Yogurt — a suite of iPad apps for in-store operations — is a great example of this.
For internal business apps where the team uses both iPhones and Android, we'll either go cross-platform or build a progressive web app, depending on what features the app actually needs.
For consumer apps that genuinely need both platforms from day one and have a constrained budget, React Native or Flutter is a reasonable starting point — with eyes open to the trade-offs.
What we're skeptical of
Hybrid "wrap a website in a WebView" frameworks. They tend to produce apps that feel slow, look generic, and get rejected from the App Store under guideline 4.2 ("apps that are simply a website should be a website"). If you find yourself going down this path, it's a strong signal that what you really need is a great mobile website instead.
Talk to us before you decide
The honest answer is that we'd rather have a 20-minute conversation about what you're trying to build than tell you which framework is best in a blog post. The right mobile stack depends on details that aren't visible from the outside: your team, your users, your roadmap, your budget, your tolerance for technical debt.
If you're thinking about a mobile project, drop us a line and we'll give you an honest recommendation — even if it's "build a website instead."
Want to work with us?
If something here resonated, let's talk about what you're building.