A beta version of Mono 2.11 has been released after a year of development. It features complete support for async programming in C# 5.0 and better Mac support.
A beta version of Mono 2.11 has been released after a year of development. This news also serves as an indication that the Mono is still reassuringly active. Given the lack of alternatives for .NET developers now that Microsoft has chosen an alternative route, this has to be good news.
The announcement of Mono 2.11.0 comes from Miguel de Icaza who started the Mono and Gnome projects and says that this is the first in a series of beta releases that will lead to the next 2.12 stable release. The highlights of the new version split between improved support for C#, compliance with .NET 4.5 API, and better Mac support.
In the area of C# support, Mono 2.11 implements the C# 5.0 language with complete support for async programming, and the C# back end has been rewritten to support both IKVM.Reflection and System.Reflection.
The blog post says that this has allowed the team to unify all the old compilers (mcs, gmcs, dmcs and smcs) into a single compiler: mcs. In addition, the compiler is no longer a big set of static classes, instead the entire compiler is instance based, allowing multiple instances of the compiler to co-exist at the same time. Mono's Compiler as a Service has been extended and reuses the compiler's fully instance based approach.
Although .NET 4.5 has not yet been officially released, the compiler now defaults to the 4.5 API, with support for new Async methods, WinRT compatibility API, and new assemblies in the form of System.Net.Http and System.Threading.Tasks.Dataflow. The blog says that the new System.Net.Http stack is ideal for developers using the C# 5.0 async framework.
Mac support has been extended in a number of ways and features that previously only worked on Linux now work on the Mac. Other improvements to the debugger, runtime and performance are detailed in the announcement.
Meanwhile, Xamarin has also announced Mono for Android Designer, a beta IDE that you can use to design Android layouts and UI on Windows and Mac. If you’re interested in taking part in the beta program, fill in this form.