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.
Training
Novell offers Mono training, and there is plenty of free
material available. Mono and associated resources can be downloaded
from the project’s website.
www.mono-project.com