Cross Platform Mobile Development

It’s a dream for mobile app developers to have a tool that can let them build apps on multiple platforms like iOS, Android, Windows Mobile, you name it, but share the same code. Traditionally one has to build native apps for only a certain platform while the framework, the language, and almost everything is different across the platforms. You get specialized at one, say iOS, and thinking about switching to Android, you’ve got to start everything over. Not everyone likes that. On top of that, for the sake of a project where the client needs apps for multiple platforms, it will not be a smart move to make each of them separately from the scratch, especially when there are solutions out there to build native apps for multiple platforms from the same codebase, provided that the client requirements can be fulfilled.

Here comes the concept of cross-platform mobile development. It is, simply put, the development of mobile apps that can be used on multiple mobile platforms. For rapid development and in-time deployment of enterprise apps, cross platform solutions are gaining increasing popularity in big businesses.

Along came quite a lot of tools in the market to make this possible. Xamarin, PhoneGap, Apache Cordova, Sencha, Ionic, Appcelerator, React Native, Unity 3D etc. are some of the big players in this game. They all have their own pros and cons, functionalities and limitations. Some may focus on gaming whereas some on data security. Depending on the needs, and your (or your team’s) specialty in languages, you have to choose one from them.

Recently I was playing around with Xamarin, a tool to create native Android and iOS apps with the power of C# as its programming language unlike PhoneGap, Ionic or React Native that use HTML, CSS and JavaScript for building native or hybrid apps.

Xamarin itself comes with several products. You not only can build both native Android apps in Xamarin.Android and iOS in Xamarin.iOS with their platform-specific APIs supporting 100% of each (as proclaimed by themselves), but with Xamarin.Forms you can build UI for both Android and iOS at the same time sharing the same codebase.

With Xamarin.Forms you can share an average of 75% of app code across all the mobile development platforms with the same C# language, APIs and data structures. Only 25%, on average, may differ in platform-specific C# APIs. That means you have helluva lot less work to worry about than when you make apps separately in their native development environments.

Xamarin offers Xamarin Studio IDE for Mac and if you’re using Windows, you can integrate Xamarin with your existing Visual Studio installation. To learn more about Xamarin, take a tour in their website here.

All Rights Reserved

Let's register a Viblo Account to get more interesting posts.