Mono for Android Debuts While MonoTouch Reaches 4.0
Novell has announced Mono for Android, a tool for .NET developers interested in creating applications in Visual Studio for Android. MonoTouch 4.0 comes with: Mono core 2.10, Parallel Frameworks for C#, LLVM Compiler Support, C# 4.0 and .NET 4.0 support, and others.
Previously dubbed MonoDroid, Mono for Android has made its debut by giving .NET developers the possibility to create Android applications in Visual Studio on Windows and MonoDevelop on Mac. Mono for Android is based on Mono 2.10, and comes with bindings to Android native APIs, a Visual Studio plug-in and an SDK packed with necessary tools for a streamlined process from initial project creation to deployment on a simulator, a device or the Android Market.
One of the important differences between Mono for Android and MonoTouch, the similar development tool for iOS, is the fact that Android supports full JIT compilation, offering some advantages over iOS and Windows Phone 7, as Miguel de Icaza, Mono founder, noted:
This means that developers using Mono on Android have complete access to System.Reflection.Emit. This in turn means that generics-heavy code like F# work on Android as do dynamic languages powered by the Dynamic Language Runtime like IronPython, IronRuby and IronJS.
Mono for Android can be purchased from Novell, the Enterprise Edition costing $999 per developer for a one-year subscription, including maintenance and updates, while a 5-developer license costs $3,999/year and allows 5 developers to work simultaneously. The Professional edition costs $399 per year.
In the meantime, Novell has released MonoTouch 4.0, an iOS development tool for .NET developers. Miguel de Icaza calls it a “major upgrade” and has outlined what’s new in the latest version:
- Parallel Frameworks for C#: Great APIs for building multi-threaded software.
- LLVM Compiler Support: In addition to the fast Mono compilation engine, MonoTouch can now also use LLVM to create optimized builds.
- C# 4.0 and .NET 4.0: This release comes with the latest incarnation of the C# language as well as exposing the new .NET 4.0 APIs (many new functional constructs make for nicer looking code, like all the IEnumerable enabled-methods in System.IO). There is one important limitation: C# 4.0 dynamic support is not functional, since it requires dynamic code generation to work.
- Upgraded WCF stack: We still consider this a preview of the full WCF but has been expanded significantly.
- All new iOS 4.3 APIs have been exposed.
- NSDecimal, NSDecimalNumber are now exposed (mostly for the sake of CorePlot :-)
- Many new convenience APIs have been introduced.
.NET developers are now enabled to develop mobile application in Visual Studio targeting both Windows Phone 7, iOS and Android. One caveat is the fact that they need to separate the application at the presentation layer because the UI is completely different on these three mobile platforms. RestaurantGuide is a sample application showing how to create such an application sporting a visually similar UI on all these OSes.