Recently, the market for native, cross platform development of maobile applications has exploded. When considering multi-platform applications, many believe the predominate languages of Objective-C (iOS) and Java (Android) to be the only choice for native, mobile app development. In response, an entire new ecosystem of building platforms for the mobile, cross platform applications emerged over the past few years.

Xamarin 4, the latest product of its type of platform in this domain, extends a unique array of capabilities. It offers a single language C#, class library, and runtime which works across mobile platforms hosting iPhone, Android, and Window’s Phone (with Window’s language already being C#). Xamarin 4 executes these tasks while continuing to compile native (non-interpreted) applications intrinsic of each platform.

Using Xamarin Studio for Native Cross Platform Development

Platform specific projects must reference the assemblies required to bind to each platform’s SDK (Xamarin iOS, Xamarin Android, or Window’s Phone) in addition to the core shared code project.

Each project must implement:

Application Layer: Platform specific functionality and binding/conversion between the business layer and the user interface

User Interface Layer: Screens, custom UI controls, and presentation of validation logic

Two alternative methods for sharing code between cross platform applications incude:

Shared Projects: Utilize the “shared asset project” to organize your source code and use with compiler directive as required

Portable Class Libraries: Create a “portable class library” targeting the platforms you wish to support and use interfaces to provide platform specific functionality

Example

The diagram below illustrates the application architecture:

Securing Mobile Devices

Recently we have employed Xamarin as a development platform for a telecommunications & diagnostics/optimization client. Our client’s device offers multiple simulations and tests through a single, android-based platform. We intend to build an improved user experience and an enhanced user interface for their application. The next generation of UI will be ported on Android, iOS, and Window’s tablets by redevelopment through Xamarin.