Now With Less Novell —

Mono 3.0 debuts, casting a wider .NET

More Mac and iOS support, new compilers, and Microsoft's open-sourced stack.

Miguel de Icaza, founder of Xamarin and lead developer of the Mono open-source implementation of Microsoft's .NET platform, announced on his blog today that the third major revision of the Mono framework is now available. Mono 3.0 was released on GitHub on October 18. It adds support for some of the most recently added key features of the .NET platform, incorporates Microsoft's open-source framework for Web development, and beefs up the capabilities of Mono on Mac OS X and iOS. It also lays the groundwork for much more rapid development of features for the Mono platform going forward.

Mono 3.0's compiler for the C# programming language now supports asynchronous programming, which Microsoft introduced in version 4.5 of the .NET Framework. This improves applications to keep responding to input while waiting for a long-running task to complete. The .NET 4.5 Async API profile is the new default for the compiler, but it can support all .NET API profiles for compilation.

Microsoft's open-sourced stack for ASP-based Web development has been integrated into Mono now, including Microsoft's System.Json (which replaces Mono's previous implementation of the JavaScript Object Notation interface for passing data objects). It also includes ASP.NET's Web Pages, MVC 4, Entity Framework object-relational mapping, and the "Razor" view engine.

Another core improvement to Mono is its garbage collection. The latest changes to the SGen garbage collector, a part of the Mono runtime that reclaims memory that applications are no longer using, allows it to distribute its tasks across multiple CPU cores if they're available. SGen has also been ported to the MIPS platform and to the 32-bit Windows version of Mono, and there have been improvements on other supported platforms—including Mac OS X, where SGen now uses the Mach kernel APIs to speed up some of its tasks.

Mac OS X and iOS are the beneficiaries of a few more changes in Mono 3.0. On Mac OS X, Mono can now compile 64-bit applications—though it is available as a 32-bit compiler, since most of the libraries written for Mono are still based on 32-bit code. And Icaza said the OS X distribution will include version 3.0 of the F# functional programming language. On the mobile side, Mono's implementation of the SQLite database now supports iOS's cryptography APIs, allowing it to securely store data locally for iPhone and iPad apps.

Channel Ars Technica