Mobile Development
Native, Cross-Platform or PWA? Choosing How to Build Your Mobile App
There are three main ways to build a mobile app, and the right one depends on your budget, the device features you need and who your users are. A practical comparison.
SAG Encoders · · 2 min read
"We need an app" is the start of a conversation, not a specification. Before any design work, it is worth deciding how the app will be built, because that choice affects cost, timeline, performance and what the app can do on the phone.
Option 1: Native apps
Native apps are built separately for each platform using the platform's own tools: Swift (usually with SwiftUI) for iOS, and Kotlin (usually with Jetpack Compose) for Android.
- Strengths: the best possible performance and smoothness, and immediate access to new platform features.
- Trade-offs: two codebases, often two teams, and roughly double the effort to build and maintain.
- Best for: graphics-heavy apps, games, augmented reality, or apps that depend on advanced hardware features.
Option 2: Cross-platform apps
Cross-platform frameworks let one codebase produce both an iOS and an Android app. The two most widely used are Flutter, created by Google, which uses the Dart language and draws its own interface; and React Native, created by Meta, which uses JavaScript or TypeScript and renders the platform's native interface components.
- Strengths: one team and one codebase for both platforms, faster delivery, and performance that is more than good enough for most business apps.
- Trade-offs: some device features need plugins or a little platform-specific code, and you depend on the framework keeping up with iOS and Android changes.
- Best for: most business, booking, delivery, fintech and community apps.
Option 3: Progressive Web Apps (PWAs)
A PWA is a website built to behave like an app. Users can install it to their home screen, it can work offline using a service worker, and it can send push notifications (on iPhone, web push works for web apps added to the home screen from iOS 16.4 onwards).
- Strengths: one codebase for every device including desktop, no app store approval, instant updates, and no large download.
- Trade-offs: more limited access to some device features, and no presence in the app stores where many people look for apps.
- Best for: internal tools, customer portals, and products where reach and low cost matter more than store presence.
Questions that decide it
- Which device features do you need? Background location, Bluetooth, NFC and heavy camera processing point towards native or cross-platform.
- Does it have to work offline? All three can, but it must be designed in from the start.
- Do users expect to find you in an app store? If yes, a PWA alone is not enough.
- What is your budget for the next two years, not just the first release? Maintenance of two native codebases adds up.
Building for users in Nigeria
StatCounter's figures put Android at well over 80% of mobile operating system usage in Nigeria, and many customers use mid-range phones and pay for mobile data. That makes three things especially important: keep the app download small, design for slow or interrupted connections, and test on modest Android devices rather than only the latest flagship phones.
Also budget for the stores themselves: Apple's Developer Program costs US$99 a year, and a Google Play developer account has a one-time US$25 registration fee.