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/
 


Reply via email to