A free and open source implementation of Microsoft’s NET Framework that complies to the ECMA standards for the C# and the Common Language Runtime
Mono is a powerful and flexible project specially made to help developers create cross platform applications.
The aim of Mono is to run Microsoft .NET applications cross-platform and deliver better development tools to developers.
Helps you create cross-platform applications
Besides running on macOS, Mono is also compatible with Windows, Linux, BSD, Solaris and Android platforms, as well as game consoles such as Wii, Xbox 260 and PlayStation 3.
Thus, Mono comes with both developer tools and the infrastructure required to run .NET client and server applications.
Between Mono’s components you’ll find the C# compiler, the Mono Runtime that implements the ECMA Common Language Infrastructure, which also includes a Just-in-Time and an Ahead-of-Time compiler, a library loader, a threading system, garbage collector and interoperability functionality.
Improve your productivity and focus on developing your app
In addition to the above mentioned components, Mono also includes the Base and Mono Class Library, a set of classes that provide a foundation onto which you can build apps.
It is worth mentioning that all Mono languages benefit from most features of the runtime, such as the automatic memory management, generics, reflection and threading. Hence, you can easily focus on writing the app instead of writing the system infrastructure code.
Thanks to the Common Language Runtime, you can choose the preferred programing language and interoperate it with code written in other CLR languages. For instance, writing a class in C#, inherit from it in VB.Net and using it in Eiffel could not be easier.
Script and embed your apps with ease
On top of that, developers have the option to use the Mono runtime to script their applications by embedding it inside other apps, in order to allow the managed code and scripts to run in a native application.
All things considered, if you are interested in developing cross-platform applications and you are looking for free and open-source development platform capable to help you achieve your goals, Mono might just be the answer for you.