An open-source implementation of Microsoft's .NET Framework for building cross-platform applications.
Mono is an open-source implementation of Microsoft's .NET Framework that enables developers to build and run .NET applications on multiple platforms including Linux, macOS, Android, and iOS. It provides a compatible Common Language Runtime (CLR), C# compiler, and class libraries based on ECMA standards. The project solves the problem of .NET application portability beyond the Windows ecosystem.
Developers who need to run .NET applications on non-Windows platforms, particularly those targeting Linux servers, mobile devices (Android/iOS), or embedded systems. It's also valuable for open-source projects requiring a cross-platform .NET runtime.
Mono was the first production-ready open-source .NET implementation, offering early cross-platform capabilities when Microsoft's .NET was Windows-only. It provides source compatibility with .NET Framework applications and enables deployment to diverse environments without rewriting code.
Mono open source ECMA CLI, C# and .NET implementation.
Mono was the first to enable .NET applications on Linux, macOS, Android, iOS, and even niche OSes like AIX and FreeBSD, as shown in the build status table with community-supported architectures.
Provides ahead-of-time compilation for platforms where JIT is restricted, such as iOS, allowing .NET code to run in environments with execution limitations.
Can be embedded as a shared library into native applications, with configuration options for minimal builds, making it suitable for integration scenarios.
Implements System.* and other .NET Framework libraries, facilitating the porting of existing Windows .NET apps to non-Windows systems without full rewrites.
The README states the last major release was in 2019, with Microsoft recommending migration to .NET, indicating no new features and limited future support.
Building from source requires an existing Mono installation for bootstrapping, and the guide notes fallbacks like 'make get-monolite-latest' add complexity and risk.
Lacks support for modern .NET innovations (e.g., .NET Core/5+ features), as development has shifted to Microsoft's fork in dotnet/runtime, leaving Mono behind.
Mono is an open-source alternative to the following products:
Protocol Buffers - Google's data interchange format
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
JSON for Modern C++
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.