Recently, AAJ conducted a webinar hosted by our very own VP of Mobility and Enterprise Solutions Alex Barenboim in which we divulged five basics that business professionals need to know to successfully build a mobile application and/or website.

In P of this series, we discussed the critical difference between a responsive design site and a custom mobile application. Now, we take a look at another fundamental principle presented in the webinar: the differences among native mobile applications for different operating systems (e.g., iOS, Android, Windows) and whether all of these development environments can be optimized simultaneously.

A chief benefit of a native mobile app is that it is device-specific, meaning its code is written to meet the exact specificities of only one device (i.e., a smartphone or tablet) rather than having cross-device functionality. However, because that code is written to meet those exact specifications, like the device’s operating system, can a native mobile app be optimized for all of today’s most widely used operating systems? Let’s see what Barenboim had to say during the presentation …

Barenboim explained that the majority of applications created for one operating system cannot run on any other operating system. This is why some applications are only available within the Apple App store and others only within Google Play, the Android-centric app store. Simply put, the vast majority of applications designed for iOS cannot be run in Android or Windows, and vice versa. To elaborate on this point, Barenboim presented a quick look at the chief differences of each development environment:

  • Android: Applications are developed in Java using an independent development language; the development environment is usually Eclipse, an open source community aimed at providing a universal development toolset.
  • iOS: Applications are developed on a language called Objective-C, leveraging a development environment made by Apple called Xcode.
  • Windows: Applications are developed within Microsoft’s C# environment using Visual Studio, a collection of developer tools to help create apps specifically for the Microsoft platform.


So, is it in fact possible to leverage a tool that enables companies to develop an application that can work across all three of these development platforms?

“Over the last eight or nine years … people have been struggling with this,” said Barenboim, adding that a few firms have popped up to solve this issue by creating a tool that enables users to develop an application using one universal language and then deploying that environment to all three (and potentially even more) environments. One such tool Barenboim cites is Xamarin, a mobile application development solution that enables users to build, test and monitor their native mobile applications across a myriad of development environments.

In short, then, the answer to this question is that it is indeed possible to optimize a mobile application for all three of these development environments—but only when supported by the right tools. To learn more about Xamarin and other tools for developing native mobile apps across multiple development environments, click here to access the webinar in full. And be sure to stay tuned for Part 3 of this series in which we will discuss user experience and layout!