Mono for Android, aka MonoDroid, has just launched its Android preview program. MonoDroid, for those unaware, is a development stack for using C# and core .NET APIs to develop Android-based applications. It will be a commercial product in the future, like Mono for iPhone ("MonoTouch") is now.
According to project head Miguel de Icaza, "all the embarrassing bugs" have now been fixed, and the platform is available for testing by anyone interested in doing so. On his personal blog, de Icaza noted that the project uses a library profile that is better suited for mobile devices. That means they removed features that are not necessary, he says, like the entire System.Configuration stack, just as Silverlight does.
"In addition to bringing the core ECMA VM to Android," ?wrote de Icaza. "We bound the entire set of Android Dalvik APIs to C# and in the process C#-ified them. This includes using C# properties for metadata (less XML config file messing around), exposing C# events, C# properties, strongly typed generic types where necessary, implicit conversions where needed, using the C# API style, IEnumerable where appropriate (to let you LINQ over your Dalvik, and we turn IIterable into IEnumerables for you)."
Mono for Android also offers the following:
- The same OpenTK library popular among .NET developers on Windows, Linux, iPhone, allowing you to share the same OpenGL logic across platforms.
- Support for the full JIT (unlike iOS)
- Templates for C# (but other .NET compilers should work, if they reference MonoDroid's libraries).
- Last, but certainly not least, MonoDroid is now supported on Mac OS X.
Developers can get started with testing Mono for Android here.