Skip to main content Skip to footer

Mono and an Open Source .NET

The upcoming release of Xuni leverages exciting technologies that allow for robust cross-platform application development. Xamarin facilitates much of this process with its own proprietary platform and development environment, but much of what makes it possible is their fully functional implementation of the .NET runtime, which is called Mono. Mono is an open source development platform based upon the .NET framework that allows for seamless cross-platform development using only C#. The Development of Mono actually started quite some time ago, with the initial release in 2004. The Mono Project, sponsored by Xamarin, provides the necessary toolsets and infrastructure (C# compiler, Mono Runtime, as well as Base and Mono Class libraries) to facilitate cross-platform development using a re-implementation of the familiar .NET platform itself. Mono runs on Linux, OS X, BSD, and Windows, supporting a variety of CPU architectures such as x86, ARM, and PowerPC. Using Mono also provides the additional advantage of using the Common Language Runtime, which allows you to choose which programming language you wish to work in (such as C# or VB.NET), while remaining interoperable with code written in other languages. Recently, Microsoft announced open sourcing for the .NET Platform (including the .NET Framework libraries and the .NET Core 5) in the interest of building a stronger ecosystem through cross-platform development. The .NET Framework Libraries are the familiar class libraries that drives the .NET Framework on the Windows platform, while the .NET Core is a rethought, simplified version of .NET. It is a small, modular development stack which comprises the foundation of ASP.NET 5, and is meant to scale from Servers to touch devices. Additional .NET Core innovations include delivery via NuGet. The new modular design allows you to pick and choose which NuGet packages you want included within your project, allowing you to match the features required for delivery within your application. The decision to open source the .NET platform is very important for Mono which, up to this point, has been a separate code base entirely. Effectively, the Mono community had re-implemented their own version of the .NET platform, due to the fact that an open source implementation was previously unavailable. This resulted in an overabundance of duplicated effort on Mono’s part. Mono will now be able to improve their own code by replacing parts of their implementation utilizing code directly from Microsoft. This code is potentially more stable and fully featured. Microsoft’s recent decision means that the .NET platform can become more collaborative, enabling a more agile cross-platform stack.


comments powered by Disqus