Android development is mostly with the Dalvik (custom Java virtual machine written by Google) and the Eclipse IDE. If you are a .NET developer and has been willing to develop an application for Android phones and tablets, Mono for Android can be an answer to you.
WHAT IS IT?
Mono for Android is a commercial product by Xamarin. It is a software development kit built on top of the Mono project which is an open source implementation of .NET framework. It provides the majority of APIs from the .NET framework. Basically, Mono for Android allows .NET developers to use C# and the .NET Base Class Library to write a native Android application.
HOW DOES IT WORK?
Mono for Android creates a native Android application that contains the Mono runtime embedded within the application. It provides a toolset that can generate the code that interacts with Android. After the installation, it provides C# templates within Visual Studio that can be targeted to different Android devices.
When an application is built, Mono for Android pushes for the following three steps:
Step 1: Generating Resource
This is done against the Resources folder and locates the resources such as images, etc.
Step 2: Code Compilation
C# code is compiled into a Mono assembly
Step 3: Creating Android Wrapper and Package
This step generates the Android wrappers and the native application package
THINGS TO KNOW
If you are developing on the Windows platform, Mono for Android does not support Visual Studio Express since the express edition does not support plugins. It needs Visual Studio Professional or better.
If you don’t have the type of Visual Studio that Mono for Android asks for, MonoDevelop can be an option which has a Visul Studio like IDE. It enables .NET developers to quickly write desktop and web applications on Linux, Windows and Mac OSX.
It is good to know that when you deploy your package file into the market, your users don’t need to install Mono. There are no additional dependencies required either. The only difference between an application created in Java and an application created using Mono for Android may be the application size.
Mono for Android on Mac developers can use MonoDevelop, but we will focus on the Windows platform and Visual Studio in this blog.