When it comes to mobile applications there is a never ending debate over native vs cross platform application development. This debate has many people confused as to which approach is better and why. Each development strategy and solution has its pros and cons and depending on the product requirements and specifications it might make more sense to choose one over the other.
A cross platform application is coded once and then it can be exported and distributed to many platforms.
Such platforms are Xamarin, Phonegap, Appcelerator Titanium, Cordova, Ionic, Unity (for games only) and many more.
As for the pros, here are the magnificent three: there is one codebase to maintain; it is less expensive as it requires less human resources; and it is faster to publish and make available to the app stores.
As for the cons, it seems that there are a little bit more: performance suffers as quality is subpar; the various cross platforms frameworks are full of bugs and development will rely on; various frameworks and SDKs aren’t supported by all frameworks; it can easily become inefficient and time consuming as new features can take more time to be integrated and deployed in these cross platform solutions.
This can also result in a “game over” scenario where a native solution is unavoidable; and the UI & UX conventions and what the user is expecting in terms of functionality and behaviour differ for each platform.
A native mobile application is coded/developed in a programming language native to each operating system and they are written for that platform only.
The two main operating systems are iOS (Ocj-C or Swift) and Android (Java).
In this case, we count several pros: native code, better performance, faster code. No cross platform app can compete i these areas with a native one; easy access to device’s available hardware and features; faster access to new features and easier implementation; better user experience; bigger community and therefore bigger support; and a plethora of testing, debugging and optimising tools are supplied with each platform.
At the same time, the cons are significantly less: it can be more expensive as it requires separate code development for each target platform while it requires more resources and development time.
And the winner is… Native
Here at Interweave we always put the end user first and as such we believe that an awesome user experience is very important for a mobile application to be successful. Therefore, our mobile development strategy follows the native development path most of the times.
There are some cases though that a cross platform approach can be justified and such cases could be the following: when an MVP (Minimum viable Product) is required that needs to reach the market as soon as possible for validation, or when the required application is a game.
Things to be aware:
Although the various cross platform frameworks claim that there is only one codebase (in non-native code) and all that code written can be shared between platforms, it is important to note that usually this is not feasible and in many cases native code may need to be written too.
At the end of July Instagram announced the creation of the IGTV, a stand-alone app, and Instagram new feature, that allows users (“creators”, as referred to by Instagram) to post videos, in “channels” (the “creators”’ accounts), for everyone to watch. How is this different than the already existing video capabilities of the platform, you ask? […]
When you think about building bridges, you think about merging two places of increasing importance. And when you think about our future as a society, the bridge with our present is constantly evolving, upgrading, extending. On the 22nd of May, the leading technology company of our times, Microsoft, took for the third consecutive year a […]