Open source Mono extends scope of Microsoft .net
What is it?
Mono is an initiative to develop an open source version of Microsoft .net that can be used to develop applications for Unix, Linux and other platforms, including Windows. The intention is that, for example, ASP.net applications could be developed for multiple platforms. Mono also provides alternative ways of developing C# components and libraries, and supports Java and Python development.
Mono is a full-blown alternative to .net, and although there are no expensive licences, the project exists at Microsoft’s pleasure and could be jeopardised if Microsoft decided to be difficult.
Where did it originate?
Mono began in 2001 at Ximian, creator of the Gnome desktop. Ximian is now owned by Novell, so Mono has a lot more money behind it. Novell uses Mono internally, for example, in its iFolder and Zenworks applications. “Mono” is Spanish for monkey.
What’s it for?
Mono includes a Common Language Infrastructure virtual machine, a class library that can work with any language that works on .net’s Common Language Runtime, and a C# compiler. Mono has its own integrated development environment, Monodevelop, which includes features such as code completion and integrated debugging.
There is a Visual Basic runtime and cross-platform class libraries for data access. Like C#, the elements of Mono either conform to the European Computer Manufacturer’s Association standards, or have been submitted to the standards body.
What makes it special?
Mono extends Microsoft’s vision for .net by moving it out of the supplier’s control, providing freely available open source alternatives to each element of .net, while ensuring that applications can run within .net. Novell also ensures that applications developed for .net can run on other platforms, or vice versa.
How difficult is it to master?
Mono uses existing skills, such as Visual Basic and C#. One reviewer described cross-platform development using Mono as “almost too easy”. As well as offering alternative approaches to .net development, Mono also provides a pathway for Linux developers who want to learn C#.
What systems does it run on?
Linux, Mac OS, BSD, Sun Solaris and Windows. The range of target platforms is continually being extended, most recently to Nokia phones.
What’s coming up?
Mono is continually enhanced to keep pace with Microsoft’s releases. The beta of Mono 1.2 has recently been released, including support for Windows Forms application programming interfaces. Mono has also been used to develop desktop Linux applications, which will be shipped with Novell’s SuSE Linux Enterprise Desktop 10 later this year. Mono 2 is promised for the end of this year.
Rates of pay
Microsoft .net developers can earn from £20,000 to £35,000-plus.
Novell offers Mono training, and there is plenty of free material available. Mono and associated resources can be downloaded from the project’s website.