Friday, November 28, 2008

Developing and implementing .NET applications in Linux, Unix, Mac, etc. with Mono 2.0

Microsoft has been promoting their .NET application platform quite some years ago, and supporting the development of .NET applications with their Visual Studio development tools. They even introduced a new programming language named as C# targetting to the .NET frameworks.

If you have the impression that .NET applications can only run on MS Windows platforms, and that you can only develop .NET applications using Visual Studio in MS Windows, probably you are still not aware of Mono which frees up all the .NET developers and their applications to the rest of the world other than Microsoft, which includes Linux, Unix, Solaris, BSD, Mac OS X, etc.

Mono is an open source development platform based on the .NET framework, which allows developers to build Linux and cross-platform applications with improved developer productivity. Mono's .NET implementation is based on the ECMA standards for C# and the Common Language Infrastructure (CLI).

The Mono runtime contains a just-in-time (JIT) compilation engine for a number of processors including x86, SPARC, PowerPC, ARM, S390 (in 32-bit and 64-bit mode), x86_64, IA64 and SPARC for 64-bit modes.

The Mono project started in Ximian since 19 July 2001, which was about 7 months earlier than the release of Visual Studio .NET 2002 (first release of Visual Studio that supports .NET framework) by Microsoft. Ximian was a company that provided free desktop applications for Linux and Unix based on the GNOME platform, and has been acquired by Novell in 2003. Mono is currently sponsored, led and supported by Novell.

Mono version 1.0 was released in June 2004, one year after Visual Studio 2003 was released. Current version of Mono is 2.0.1, which is API complete in regards to .NET 2.0 and supports for Visual Basic.NET as well as C# versions 2.0 and 3.0.

Mono includes compilers, an ECMA-compatible runtime engine (the Common Language Runtime, or CLR), and many libraries. The libraries include Microsoft .NET compatibility libraries (including ADO.NET, System.Windows.Forms and ASP.NET), Mono's own and third party class libraries.Gtk#, a set of .NET bindings for the gtk+ toolkit and assorted GNOME libraries can be found in the latter. This library allows you to build fully native Gnome application using Mono and includes support for user interfaces built with the Glade interface builder. Furthermore, Mono's runtime can be embedded into applications for simplified packaging and shipping. In addition, the Mono project offers an IDE called MonoDevelop, Debugging, and a documentation browser called MonoDoc.

As an open source software, you can download, copy, distribute and use Mono for free. Here is the download page of Mono.

There are a lot of information about Mono in Wikipedia. There are also many resources and documentations about Mono in its official website.


Post a Comment

Hint: Click on the "Older Posts" link to continue reading, or click here for a listing of all my past 3 months articles.