|
|
YOUR FEEDBACK
Did you read today's front page stories & breaking news?
SYS-CON.TV |
TOP LINKS YOU MUST CLICK ON Open Source
Bringing the CLI to Open Source
Ximian's Mono Project means you have a choice
By: Deepak Mittal
Digg This!
Those who like .NET may find themselves lamenting, "I still have to deploy applications on the Windows operating system. I am still locked to one vendor - Microsoft." If this sounds like you, Ximian's Mono project might be the answer. The Mono project was started in July 2001 by Miguel de Icaza, cofounder of Ximian, with the aim of bringing the Common Language Infrastructure platform to free systems. Mono is an open source implementation of the Microsoft .NET Framework. It has a compiler for C#, an ECMA-compatible runtime engine for the Common Language Infrastructure, and class libraries. Mono implements various technologies developed by Microsoft that have now been submitted to the ECMA for standardization. The Mono project enables building and deploying cross-platform .NET applications. For example, a solution created using C# can be executed in Windows 2000 and also in Linux, Windows, Solaris, FreeBSD, HP-UX, and Mac OS X using Mono. Architecture
![]()
The good news about Mono is that you can choose from a variety of IDEs. You can use an open source IDE like Eclipse or #developer, a free IDE for C# and VB.NET projects on Microsoft's .NET platform. Eclipse is a very important project for future application development in this framework; it already has a basic C# plug-in that implements auto-indenting and syntax highlighting for this language. In addition, Eclipse can use the Gtk2 toolkit on GNU/Linux. This is great for GNOME users because it adapts better to the environment. You can also use Visual Studio .NET, which provides great features for developing applications in C#. Programs written using Visual Studio .NET can be compiled and executed using Mono. Other tools available to help in developing with Mono are NUnit, NAnt, NGen, and the Mono debugger. NUnit is a unit-testing framework for all .NET languages. Initially ported from JUnit, the current version, 2.1, is the second major release of xUnit-based unit testing tools for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features. NAnt is a free .NET build tool that's very much like Ant. NGen is under development and will create native images from a managed assembly. The Mono debugger's purpose is to help developers in debugging Mono applications. Documentation of these tools is available in MonoDoc, a documentation browser. Advanced Features
Mono provides language and platform independence. It supports GNOME, KDE, and Windows desktop environments. It allows writing applications in many languages, so existing modules written in many languages can be used to create new applications with less effort using contract/interface-based programming. Currently Java is not supported. It will be interesting to see if the Mono project supports Java in the future, which will allow using C# components in Java and vice versa. The Mono runtime supports XPCOM on Unix systems and COM on Windows. The embedded Mono runtime in applications makes it possible to call C functions from CIL and CIL functions from C code. Mono has rich libraries for cryptography, HTTP, networking, directory services, and others. Garbage collection and SOAP support are faster than Java, and SandBox provides better security. Because of all these features, Mono can play a major role in helping Linux succeed as a desktop operating system. Mono supports ahead-of-time compilation to convert developers' code to native code, which is done in Microsoft with ngen.exe tool. The Mono project integrates with open source projects like Apache and makes open source development easier. The Mono C# compiler is released under the terms of the GNU GPL; the runtime libraries are under the GNU Library GPL; and the class libraries are released under the terms of the MIT X11 license. This permits creating proprietary applications using Mono. The Mono project community is also growing, which ensures quick bug fixes. Ximian support for the Mono project is expected to continue in the future. Interoperability Microsoft's .NET strategy includes many other efforts such as Windows applications; Passport-centralized, single sign-on systems, and others. These efforts are not part of the Mono project. To make applications more interoperable:
LATEST LINUX STORIES
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||