Opinion: Unraveling cross-platform app development

Opinion: Unraveling cross-platform app development
Michael is a Microsoft MVP, Pluralsight, and MSDN author as well as an international speaker. He works at Telerik with a focus on everything mobile.

(Image Credit: iStockPhoto/Ersin KISACIK)

With more and more developers looking to get into mobile, it would make sense that they would want to use the tools of their choice. But, what are the options for developing mobile apps in general? You may be asking yourself, “How can I develop for iOS without a Mac?” “How can I develop for Android without learning Java?” Maybe, even more importantly, is, “How do I develop for multiple mobile platforms using a single-code base?”

Responsive Web Development

Building mobile apps for the web uses the same technologies that all web developers have come to know and love. These technologies typically include HTML5, JavaScript, and CSS3. One general approach used throughout the industry is responsive web design. With this approach, the page layout and content is scaled to adapt to various screen sizes, including mobile screens. For further reading on this subject, check out this article by Katrien De Graeve, Azure Technology Specialist at Microsoft.

Native Development

Native apps are written in the platform-specific SDKs, have access to all device APIs, and can use the development tools provided directly from the vendor. If you would like to build a native Android application then you would need to install Eclipse or Android Studio and get up to speed with XML and Java. The same goes for a native iOS app, where you will need a Mac and Xcode as well as an understanding of Objective-C or Swift. If you’re building for Universal Windows Platform, then you will need to learn XAML and an object-oriented language such as C#.

While managing all of these SDKs may seem cumbersome, sometimes building a native app just makes sense when performance is a factor. If you prefer not to work with multiple SDKs, another option is NativeScript which enables developers to build native apps for iOS, Android, and Windows whilst sharing the application code across the platforms.


Xamarin allows you to build native apps for iOS, Android, and Windows with .NET and C#. The difference between Xamarin and other cross-platform frameworks is that your app is compiled to a native binary, not interpreted. Native compilation is great for apps which demand fast screen refreshes such as gaming, or complex data-visualization such as a chart which needs to plot thousands of points. Besides using .NET, Xamarin allows you to add third-party libraries to your project. Xamarin also has a component store with a variety of popular libraries ready to integrate into your app.


When all is said and done, building your cross platform mobile app eventually comes down to choosing the right technology. Does your team have a strong background with HTML, CSS, and JavaScript? If so, you have options for web or hybrid. If you need high performing apps or lower level hardware access, then you might want to build a native app. The one thing to keep in mind is that there is no such thing as a one-size-fits-all solution to mobile app development. You and your team need to carefully examine your requirements before making a decision to go web, hybrid, or native for your next mobile app.

What are your best tips for building cross-platform applications? Let us know in the comments.

View Comments
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *