More than two years have passed since Microsoft announced its .Net
initiative and made the first tools available for the Windows operating
system. Since then, other tools have evolved that allow you to run .Net
applications on Linux platforms. This article introduces the two
mainstream .Net Linux development tools that have been created to date,
Mono and DotGNU.
Mono is an Open Source project developed by Ximian, now supported by
Novell (which acquired Ximian), which was the brainchild of GNOME
pioneer Miguel de Icaza. Among his primary motivations for starting work
on Mono were basically the same features Microsoft touts as its own
technical merits:
* Cross-language integration
* APIs that are exposed to multiple languages
* Contract/interface-based programming
Mono's primary component is the Common Language Runtime (CLR), which
offers the environment in which you execute .Net byte-code, also known
as MSIL (Microsoft Intermediate Language). If you are familiar with the
Java platform, the CLR is similar in nature to the Java Runtime
Environment, which allows the execution of Java byte-code in an
operating-system-independent manner.
Besides the execution of .Net byte-code, Mono also offers the set of
foundation class libraries needed to create .Net applications on the
wide array of incarnations available for the framework, like Web
applications through ASP.Net and ADO.Net, Windows Forms, and Web
services. This particular segment of Mono can be considered a work in
progress; though it does offer the most common classes used
in the creation of .Net components, it lacks some implementations when
compared to Microsoft's .Net distribution for Windows.
Language-wise, Mono offers a C# compiler and a less developed Visual
Basic.Net compiler to create MSIL, which allow you to use either C# or
Visual Basic to create your .Net applications in Linux. For the moment
these are the only two languages Mono supports, although there is a
to-do list for other compilers like J#, which in the near future will
permit you to create .Net byte-code from Java classes.
For hosting .Net applications developed for Web environments -- those in
ASP.Net -- Mono offers two alternatives: A standalone Web server named
XSP or an Apache module dubbed mod_mono. Both allow you to execute the
same ASP.Net assemblies created for Internet Information Server on Linux
platforms.
DotGNU
DotGNU is the Free Software Foundation umbrella project for the .Net
Framework. Under the name Portable.Net it offers a standards-based C#
compiler and runtime needed to execute common language byte-code as
defined by the ECMA-334 and ECMA-335 specifications, in much the same
manner as Mono.
However, where these two specs end DotGNU and Mono start to show their
differences. DotGNU is more focused on the Web services area of .Net.
One of its main development projects encompasses a complete Web services
server built on top of Goldwater -- another GNU project -- which is a
lightweight middleware platform. Besides this feature, DotGNU touts easy
integration with phpGroupWare, a Web-based groupware suite based on PHP.
If you are a GNU purist you will surely be more interested in the DotGNU
implementation, as it builds on other GNU projects. However, Mono has
its own merits. It is more thoroughly developed and has a wider user
base than DotGNU, probably due to its same GNOME roots. As with DotGNU,
although most of the current development in Mono seems to be tightly
aligned with Microsoft's .Net for Windows, it has also branched
development sub-projects like Gtk#, which is obviously heavily
influenced by its ties with GNOME.
Even though tools for developing .Net on Linux are still in flux, the
run times for executing .Net code are substantially stable, so for the
moment you can reuse components on both operating systems. In the near
future you should be able to create the same functionalities offered by
the original Windows implementation through either Mono or DotGNU.
Source: http://www.devchannel.org
To unsubscribe send a blank mail to:
[EMAIL PROTECTED]
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/bdlug/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/