Mobile App Development: Should You Make Your App Native or Cross-Platform?
March 2nd, 2017
"What kind of app would you like?"
"Are there different ones?"
"Yes, you can create a native app, a cross-platform app, a mobile version of your website or just a responsive design for it."
"Uh... I don't know."
Ever had that kind of conversation?
When you are a developer, the choices are clearer. You know what it takes: how much time is required approximately, how much does the development cost for each of the features, what are the technical requirements...
However, if you have never dealt with launching your app, then the guiding questions from the developers or project managers might seem daunting.
Let's find out what is what in this multiplatform mobile development to simplify the task for you.
A native application (or app) is a program that has been developed for use on a particular platform or device. Therefore, you can create a native iOS, Android, WindowsPhone or other apps.
In this case, if you would like to have both Android and iOS apps, for example, the development will be completely separated.
- Since your app is created specifically for that platform, you can utilize all the platform's abilities in your app. For example, you can use 3D touch on the latest iPhones.
- Quicker and more efficient work because the features are optimized for each of the platforms.
- Ideal solution when you need the app to cooperate with other devices (for example, iPhone's cooperation with Mac computers or iPads).
CROSS-PLATFORM MOBILE APP
An app that has been developed using Ionic, Xamarin, PhoneGap, Sencha, or other tools.
These apps are developed by cross-platform app developer (or a team) and they work across platforms (for example, you can create a game that would work both on iPhone and Android device).
- Easier to support the code.
- Business logic is located in one place (and also it is written once instead of several times for each of the platforms) which makes business logic functionality testing more straightforward (and cheaper).
- Great solution when you just need a web application shell without integration with other devices.
Factors to take into account
- Price - it might seem like a cross-platform app would be cheaper, yet this doesn't work out this way, so be sure to think the functionality through before you order app development. If you are not sure what option to choose, our Grossum's specialists can help you and consult you on this topic. This way, you would save money in the long run by avoiding additional expenses that app remake would require afterward.
- Functionality - we already mentioned that you have to know what your app should do (which is rather obvious, right?) However, besides creating a proper business plan, etc., this would help to make a right decision on whether to choose native or cross-platform development.
- Speed - depending on your functionality, native or cross-platform apps can perform differently in regards to speed.
- Updates - if you are planning to grow and develop your app continuously, you should also mention that to developers who would be able then to offer a suitable solution.
- Migration - are you planning to add other platforms' support for your app? (For example, if you originally are making an iOS / Android app, but plan to have a WindowsPhone)
There are times when you simply need your website to look good on the users' mobile devices. This is where adaptive/responsive design comes in as well as an option of a mobile website. The adaptive/responsive design is developed for your main website and it "adapts" to the user's device parameters. A mobile website is a separate version of your website that is usually a simplified version of the web page, allowing for easier navigation.
If you want to read more about the choice between adaptive design or mobile application, click here.
Bonus: if it were you, which option would you choose: native app vs cross-platform?
We have asked a few of our friends and this is what they shared (taking into account that they would not be developing the app themselves).
Anastasia, Xamarin developer: Depends on many factors. If only one platform is targeted, then I would choose native app development because it would be faster / cheaper. If there are two or more platforms, univocally cross.
Konstantin, Android developer: I would choose native since you can do more there. Cross-platform is great for games, but otherwise, a native app is better.
Mykola, Grossum CEO: if I had 10 seconds to choose, I'd say native. If I could think a bit more, possibly I would change for cross-platform, but that depends on the app.
Let's develop a great mobile app together!
Let's develop a great mobile app together!