Mobile application development has been growing at a phenomenal pace in today’s world! Gartner’s quote “By 2017, mobile apps will be downloaded more than 268 billion times, generating revenue of more than $77 billion” testifies the exemplary growth. Smart phones have played a noteworthy role in shaping up the new market, creating a huge opportunity for both businesses and developers.
For a business model which needs a mobile app, the first crucial question that arises is, “Should we build a native or cross-platform app?” If your target audience is split between iOS, Android, and Windows phones, designing and developing apps for multiple platforms makes sense.
Consequently, cross-platform mobile app development has been gaining popularity among mobile app developers. The same code can be leveraged and customized for multiple platforms without much development efforts, reducing development cost vertically. Currently, there are many cross platform mobile app development technologies available in the market including Xamarin, Phone gap, Appcelerator Titanium, Sencha and Adobe AIR. Out of these, Microsoft supported Xamarin is gaining huge success and rightly so.
The other side of the coin is that there are still some inherent demerits of using Xamarin. First of all, Xamarin doesn’t come cheap; they charge based on the developer count. The apps developed on Xamarin are slightly larger and heavier than native ones. Xamarin ecosystem, when considered, is on the growing state. Developers have to spend more time searching on internet for solutions to their development issues. There is no provision to use the existing numerous open source libraries for iOS and Android. When it comes to coding, Xamarin UI, though exemplary and just like native, demands much more coding effort. Most of the times the UI code is unique for each platform. Also, the code developed for Xamarin cannot be used outside the environment which makes it harder to create custom modules. Similarly, already existing apps cannot be ported as it is; they need to be rewritten in Xamarin.
The decision to choose between native and cross platforms is critical. If your app is a complex one and multiple platform is non-mandatory, native development will be advisable. If resource and multiple platform is important to you, go with Xamarin. But one thing is certain – being Open source with a shorter learning curve, Xamarin is going to be future of cross-platform mobile app development.