For most small business apps, React Native is the better choice. It produces real iPhone and Android apps from a single TypeScript codebase, using the platforms' own interface components, so you pay for one build and one stream of maintenance instead of two. Fully native development, in Swift for iOS and Kotlin for Android, is worth the extra cost when the app's main value depends on specialised or brand-new platform features, very demanding graphics, or heavy background processing.
This article explains the difference in plain terms, compares the two approaches on the things a business owner cares about, and lists the situations where each one wins.
Definitions
- Native development: building the iOS app with Apple's tools and languages (Swift, SwiftUI or UIKit) and the Android app with Google's (Kotlin, Jetpack Compose). Two separate codebases.
- Cross-platform development: building one codebase that produces apps for both platforms.
- React Native: an open-source cross-platform framework, originally created at Meta, in which developers write the app in JavaScript or TypeScript using React. It renders native interface components rather than a web page.
- Expo: a framework and set of services built around React Native. It provides ready-made modules for device features, a development workflow, cloud builds (EAS Build), store submission (EAS Submit) and over-the-air updates (EAS Update).
- TypeScript: JavaScript with static types, which catches many errors before the app runs and makes a codebase easier to maintain.
Apptavio builds production apps with React Native, Expo and TypeScript.
Why the choice matters to a business owner
The framework affects four things you will feel directly:
- Build cost: how much work it takes to produce the first version on both platforms.
- Maintenance cost: how much work it takes each year to keep the app working and compliant.
- Customer experience: how fast, smooth and familiar the app feels.
- Flexibility: how easily you can add features later or change developers.
Comparison
| Factor | Native (Swift + Kotlin) | React Native (TypeScript) |
|---|---|---|
| Codebases | Two | One, with platform-specific code where needed |
| Build cost for both platforms | Higher | Lower |
| Annual maintenance | Two apps to upgrade and test | One app to upgrade, still tested on both |
| Look and feel | Fully native | Native components; quality depends on design |
| Access to device features | Complete and immediate | Very broad via Expo and community modules; custom native modules for the rest |
| Newest OS features on launch day | Immediate | Often needs a module update or custom native code |
| Performance for typical business apps | Excellent | Excellent when built well |
| Performance for heavy graphics or computation | Best | Possible, but native may be simpler |
| Hiring and handover | Two skill sets | One widely known skill set (JavaScript or TypeScript and React) |
| Over-the-air updates for small fixes | Not built in | Supported via EAS Update, within store rules |
Where React Native fits best
Small business apps tend to share a pattern: lists of services or products, a booking or ordering flow, accounts, loyalty, notifications, a map and a contact screen, all connected to an existing system through an API. This is the territory where React Native shines:
- Booking apps for grooming, salons, clinics, fitness studios and garages.
- Ordering and e-commerce apps connected to platforms such as Shopify or WooCommerce.
- Loyalty and membership apps with digital stamp cards, passes and offers.
- Customer portals for job status, documents and approvals.
- Service management apps for staff and field work.
In each case, the expensive parts are design, business logic, integrations and testing, not low-level rendering. Writing that logic once and shipping it to both platforms is where the savings come from.
Where native development fits best
Native development is the better choice when:
- The app is the product's core technology. For example, real-time 3D, advanced augmented reality, complex audio or video processing.
- You need a new platform feature immediately. Apple and Google announce new capabilities each year; native code can use them on day one, while cross-platform modules may take time to catch up.
- Heavy background work is central. Continuous location tracking, Bluetooth hardware integration with strict timing, or long-running background tasks can be simpler in native code.
- You only need one platform, for example an internal iPad app, and already have native expertise.
Even then, it is not all or nothing. React Native apps can include custom native modules written in Swift or Kotlin for the demanding part, while keeping the rest of the app shared.
Common myths
"Cross-platform apps look like websites"
That describes wrapper apps and some older hybrid tools, which display web pages inside an app. React Native renders native components such as native text, scroll views and navigation. Whether an app feels right depends on following platform conventions, like Apple's Human Interface Guidelines and Google's Material Design, and that is a design responsibility, not a framework limitation.
"React Native is slow"
For screens of lists, forms, images and navigation, React Native is more than fast enough. Poor performance usually comes from unoptimised images, unnecessary re-rendering or inefficient data loading, problems that also occur in native apps. The React Native architecture has also evolved significantly in recent versions; see the official React Native documentation for current details.
"Cross-platform means no access to device features"
Expo provides modules for the camera, image picker, location, notifications, secure storage, biometrics, haptics, file system and more. For anything unusual, a custom native module bridges to platform code.
"Native is always more future-proof"
Both approaches need maintenance. Apple and Google update operating systems and store requirements every year. A native app needs two upgrades; a React Native app needs framework upgrades. Neither can be left untouched indefinitely.
What it means for cost
Without quoting market figures, the logic is straightforward: much of the work in a business app, such as screens, flows, validation, integration and state management, is written once in React Native and twice natively. Testing still happens on both platforms, and some platform-specific polish is always needed, so the saving is not a simple half. But for most small business projects, cross-platform is meaningfully cheaper to build and to maintain.
Apptavio's apps start from £1,499 (indicative starting price). The final price depends on screens, features, integrations, backend work, accounts, payments, notifications, native capabilities and maintenance, not on the framework label.
Questions to ask any developer
Whichever approach you choose, ask:
- Who owns the code and store accounts? They should be yours, with the developer accounts registered in your business's name.
- How will updates be delivered? Store releases, over-the-air updates for eligible changes, or both.
- What happens when iOS and Android release new versions? Ask about the maintenance plan and its cost.
- Which device features need custom native work? This reveals hidden complexity early.
- How is the app tested? On real devices, on both platforms, with beta testing through TestFlight and Google Play testing tracks.
See the experience before choosing
Framework debates are abstract; an app on your phone is not. Apptavio's free preview is a personalised interactive app concept built from your existing public website, using your branding, services and content. It opens in a browser, and a person reviews every concept before it is sent. The preview is a concept, not the finished React Native app, and its features are simulated, but it lets you judge the screens and flows that would be built for real.
Summary
React Native gives small businesses native-feeling iPhone and Android apps from one TypeScript codebase, which usually means lower build and maintenance costs without a visible compromise for typical business features. Fully native development is worth its higher cost when the app's core depends on specialised, brand-new or performance-critical platform capabilities. Many apps sit comfortably in between: React Native for the app, with small native modules where they are genuinely needed.
Frequently asked questions
Is a React Native app a real native app?
Yes, in the sense that matters to users. React Native renders the platform's native interface components and is distributed through the App Store and Google Play like any other app. The app's logic is written in JavaScript or TypeScript rather than Swift or Kotlin.
Will customers notice the difference?
For typical small business apps, such as booking, ordering, loyalty, account and status screens, a well-built React Native app is hard to tell apart from a native one. Quality depends far more on design and engineering care than on the framework.
Can React Native use the camera, location and notifications?
Yes. Expo and the React Native ecosystem provide modules for the camera, location, push notifications, biometrics, secure storage and more. Where a feature has no ready-made module, a custom native module can be written in Swift or Kotlin for that part only.
Is React Native cheaper to maintain?
Usually, because there is one codebase to update for both platforms instead of two. Maintenance is still needed: React Native, Expo and the operating systems all release new versions, and apps must be upgraded to stay compatible with store requirements.
When should a small business choose fully native?
When the app's core value relies on advanced platform-specific capabilities, such as complex real-time graphics, deep integration with new operating system features on day one, or heavy background processing, or when you only ever need one platform and already have native expertise.
Sources
Sources we used for factual claims in this article:
About the author
Apptavio Editorial Team
Editorial team
Articles are written and reviewed by the team at Apptavio, which designs and builds custom iPhone and Android apps for small and medium-sized businesses using React Native, Expo and TypeScript. We explain how app projects work in practice, link to official documentation for platform rules and fees, and update articles when those rules change.