MonoDroid is a new way to develop Android applications using c# and .NET. It’s based on Mono, the open source development platform based on the .NET framework, that’s itself is sponsored by Novell.
The idea is that you use a Visual Studio 2010 plugin to develop Android applications against the API profile for the MonoTouch core libraries (the Silverlight-based API).
This set me thinking why you might (or might not) want to do this instead of programming using Android’s Java.
Advantages
- It allows developers with c# expertise to develop Android applications.
- It allows both Windows Phone 7 and Android to share some common code (note it’s not possible to have a WP7 app instantly run on Android. The APIs differ and common code, usually business logic, has to be factored out so it can be shared).
- Visual Studio is, in my opinion, the best available tool for mobile software development.
Disadvantages
- You become dependent on a on 3rd party tool that won’t have a complete API nor evolve as fast as the Android API itself.
- It won’t work with Visual Studio 2010 Express (the free version) as it doesn’t support plugins. Visual Studio 2010 Professional or better is required.
- There’s no UI designer (one of the main strengths of using Visual Studio).
- It costs - probably in the same range as MonoTouch ($400 USD for individual users, and $1,000 for enterprise users).
Related Articles: