is a comprehensive and advanced software solution meant to offer developers the means of creating cross-platform applications based on .NET Framework, implementing EMCA standards for both Common Language Infrastructure and C#.
The utility includes several different components, namely C# compiler, Mono Runtime, Base Class Library and Mono Class Library, each element with its own role in the development process.
As such the C# Compiler can handle versions of the programming language ranging between 1.0 and 5.0. Mono Runtime uses the EMCA CLI, offering several different tools for programming purposes, namely JIT and AOT compilers, a garbage collector, a library loader and others.
With the help of the Base Class Library, users can benefit from a complex set of classes, compatible with .NET Framework, which can easily be used for building applications.
Finally, Mono Class Library enables users to work with more advanced classes than those featured by Microsoft, offering supplementary capabilities, in particular for Linux apps, for instance Gtk+, Cairo, POSIX, OpenGL, LDAP and others.
A more advantage of Mono consists of the fact the developers can run a variety of Windows.Forms, Silverlight, ADO.NET or ASP.NET applications, without having to recompile them. In addition, it features numerous bindings and implementations for a variety of well-known protocols and libraries.
The software is available as open source and can be used by anyone under the conditions of its license, for building their own multi-platform programs. It comes with a hefty help documentation, available especially online and can resort to it whenever they run into situations that overwhelm them.