Skip to main content

Choosing technology

Native vs cross-platform apps: how to choose

2 min read

One of the first decisions when building a mobile app is whether to use native or cross-platform technology. Both can produce apps that work well. The differences lie in how they are built, what they cost to maintain and which features they can use.

What is native development?

Native development means building separately for each platform with its official tools, such as Swift for iOS apps and Kotlin for Android apps. The app can use the latest system features directly, and its interface and behaviour match the system.

What is cross-platform development?

Cross-platform development uses one codebase to produce both iOS and Android apps. Common technologies include Flutter and React Native. Because most of the code is shared, there is less work to build and maintain the two platforms.

At a glance

NativeCross-platform
CodeA separate codebase for each platformMostly one shared codebase
New system featuresAvailable straight awayDepends on framework support; sometimes needs extra work
InterfaceFully consistent with the systemClose to native; some details need adjusting
Development and maintenance costHigher when supporting several platformsUsually lower when supporting two platforms
Best forApps for one platform only, or that rely heavily on device featuresApps for both iOS and Android with similar features

A few ways to decide

  • Only need to support iPhone and iPad: native development is usually the better fit
  • Need AR, Apple Vision Pro or other newer system features: native development is more flexible
  • Need to support both iOS and Android, and the app is mainly content, forms and accounts: cross-platform development can save time
  • Want to launch a first version and adjust based on feedback: consider cross-platform development

There is no absolute right or wrong. What matters is what the app is for, who will use it and how it will be maintained. Before starting, we first understand these needs and then recommend a suitable approach.

Ready to start your spatial computing project?

Tell us what you need and where it will be used, and we will suggest a suitable approach.