2 min read
Native or cross-platform app? How to make the choice
Swift and Kotlin, or React Native and Flutter? The technology you choose affects price, schedule and maintenance. Here are the key differences.

Author: Antto LiimatainenChief Operating Officer

When an app project gets going, one of the first decisions is the technology. The choice shows up in the budget, in the schedule, and in how easy the app is to develop years from now.
Native apps
A native app is written for each platform in its own language: Swift for iOS and Kotlin for Android. It has direct access to every feature of the device and feels to the user exactly the way apps on that platform are supposed to feel.
The price is that the same app is built and maintained twice.
Cross-platform apps
React Native and Flutter let one codebase produce an app for both platforms. Most of the code is shared, so development is faster and changes reach both versions at once.
Today the performance of cross-platform apps is more than enough for most needs. The differences show mainly in heavy graphics and deep device integrations.
When to choose which?
Choose native when
- the app makes deep use of device features, such as Bluetooth or background processes
- performance is critical, as in games or image processing
- the app is built for one platform only
Choose cross-platform when
- you need the app on both iOS and Android
- you want to launch quickly and develop the app based on feedback
- the budget is limited and you want to keep maintenance simple
Technology is a tool, not the goal
Users can't see what language an app is written in. They can see whether it works.
The best technology is the one that fits the app's needs and its developers' skills. That's why it pays to start by working out what the app needs to do – and only then choose the tools.
Technology is also one of the factors behind the price. Read more in what does a mobile app cost.

