As of June 2020, a staggering 3.5 billion people own a smartphone. That’s more than 45% of the world's population, according to BankMyCell.
Never before in history has there been such a large market for mobile apps.
But there’s an issue.
These users are fragmented. Globally, users are split between:
And these percentages shift regionally, too. In the US, iOS has a bigger market share (56%) than Android (43.5%), while the opposite is true in South America and Asia.
This means, when developing a mobile app, you need to choose your platform carefully; considering the location and preferences of your target audience. The numbers above are from Statcounter — a great resource for discovering which platforms are popular in your area.
But even when you have chosen a platform (or platforms) to focus your energies on, there’s another big decision to be made: how.
In native mobile app development, you’ve got three options. You could build a dedicated app for each platform, use a cross-platform framework to re-use code for each platform or build a progressive web application (PWA).
In this guide, we’ll explore each of these approaches; helping you decide which is right for you.
A native app is one that’s developed specifically for a target platform, using that platform's preferred programming language and tooling. For iOS, this means Swift. For Android, you could use Kotlin or Java.
Apple and Google offer native app developers a range of tools and resources to encourage them to build apps for their platforms. This includes standardized interface elements, development environments (Xcode and Android Studio), design guidelines, and various libraries that make development easier.
Reasons to choose a native app include:
But there are drawbacks to native development, too. Such as:
Many popular applications are built natively, including Twitter, Pokemon Go and Waze.
A cross-platform application runs on multiple platforms with only small modifications required.
Cross-platforms apps bring a number of advantages to the table, including:
But with cross-platform development, you lose out on:
Should you choose to push ahead with a cross-platform build, there are three main choices for cross-platform development in 2020.
Pros of using React Native:
Cons of using React Native:
Vue Native is a community open source project, allowing Vue developers to build native applications. Importantly, it compiles to React Native, so you can use a Vue developer to build a React Native application.
Pros of using Vue Native:
Cons of using Vue Native:
We'll save the technical differences for a future article, but NativeScript works differently from Vue Native and React Native and provides a more native-like experience for developers.
Whereas React Native uses a bridge to empower native functionality, NativeScript provides direct access. This means you can use CocoaPods and Android SDKs within NativeScript.
Pros of using NativeScript:
Cons of using NativeScript:
Many popular applications are built with cross-platform technologies, including Uber Eats, Instagram and the Bloomberg app.
A Progressive Web App (PWA) is a midway point between a mobile accessible website and a mobile app.
The key differences between a native app and a PWA are how the user accesses them. Whereas native and cross-platform applications are found on an App Store, PWAs are accessed via a web address. PWAs cannot be listed on the iOS App Store. However, they can be listed on the Google Play Store — if specific PWA requirements are met.
The key benefits of a PWA are:
The disadvantages are:
Notably, the founder of Facebook, Mark Zuckerberg said:
“The biggest mistake we’ve made as a company is betting on HTML5 over native,”
He was referring to the original Facebook mobile app, which was built as a web app back in 2012. Web technology has moved on since then, but it suffered from slowdowns and other issues, allowing their native app based competitors to gain market share at Facebook’s expense.
Many web publishers and companies are using PWAs to enhance their existing websites, such as the Financial Times, Twitter and Pinterest. However, these run alongside their existing applications.
If we’re honest, the answer to this question is very specific to your needs and requirements for your application:
If you are considering building a multi-platform application and need some guidance, why not get in touch? We’ll help you map out every stage of your mobile app development journey and choose the development approach that will work best for your needs.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form