At Digitium Media we like to think there is no right or wrong solution for a given problem. It is all about balancing the the pros and cons to fit a particularly project definition. So why and when using a cross-platform vs a native solution?
In the last couple of years many cross-platform technologies were released on the market. Among many I can think of: PhoneGap, Cordova, Appcelerator , etc…
The belief ‘write one, run everywhere’ is still alive and attractive to most of clients. Even if now-days, most of the mobile features are supported such as the camera, gallery, geo-location, bluetooth and many more, a cross-platform solution is not always the right one. Some native gesture/behavior such as the long click or the back button are still specific to some devices
So when and why going for a cross-platform?
- It is less expensive. You can develop 1 code that can be deployed in almost if not all the platform that are currently on the market.
- 1 code to maintain. If you want to add more features, you just have to do it once.
- Good for fast prototyping, or fast solution deployement.
- More adapted if you wanna display html based content such as form.
- Cannot translate the gesture / behavior that is specific to some devices. On an Android it is more common to delete a cell using a long press. On an iphone, users slide left or right. This is one example of many more UX design issues.
- Less responsive. You cannot beat a native code in terms of speed of execution.
When and why going for native?
- More responsive
- Faster at execution even though if now-days the difference is small.
- More expensive to develop the app across multi platform
- Harder to maintain the code. You have to implement each new functionalities for for each platform you have deployed you application onto.
We always prefer to go for the native solution if the client has the budget. It is more responsive and the UX design is more adapted to the device characteristics. We like to think that if the application is a main business there should be no brainer. Go native. You want to get the best conversion rates as well as the best comments. However, if the application is more of a support to your main business or you want to do a quick proof of concept across different OS. Then cross-platform is an option you should consider.