DotGNU
Encyclopedia : D : DO : DOT : DotGNU
DotGNU a Free Software replacement of Microsoft .NET solutions for webservices and C# programs.
Main development projects
- DotGNU Portable.NET, an implementation of the Common Language Infrastructure (CLI), more commonly known as .NET, includes everything that you need to compile and run C# and C applications that use the base class libraries, XML, and Systems.Windows.Forms. Currently supported CPUs: x86, PPC, ARM, PARISC, s390, IA-64, Alpha, MIPS, Sparc. Supported operating systems: GNU/Linux (on PCs, Sparc, iPAQ, Sharp Zaurus, PlayStation 2, Xbox,...), *BSD,Cygwin/Mingw32, Mac OS X, Solaris, AIX and Microsoft Windows.
- phpGroupWare, a multi-user web-based GroupWare suite, which also serves to provide a good collection of webservice components, all of which can be accessed through XML-RPC so that you can easily integrate them into webservice applications of your own.
- The DGEE webservice server.
The Mono project from Novell, Inc. is in some sense similar to the Portable.NET project.
Framework Architecture
Class Library
The class library provides a comprehensive set of facilities for application development. They are primarily written in C#, but thanks to the Common Language Specification they can be used by any .NET language. The class library is structured into Namespaces, and deployed in shared libraries known as Assemblies. When we speak of the .NET framework, we are primarily referring to this class library.It's important to note that the main goal of the DotGNU and Portable.NET projects and the Microsoft Shared Source CLI (Rotor) code base is to provide a class library that is 100% CLS (Common Language Specification) compliant. In contrast, the main goal of another open source CLI implimentation, the Mono Project is to provide 100% compatible class libraries for both the CLS specification and with the class library currently released by Microsoft for their commercial version of .NET, which itself does not currently fully comply the CLS specification published by ECMA.
Namespaces and Assemblies
Namespaces are a mechanism for logically grouping similar classes into a hierarchical structure. This prevents naming conflicts. The structure is implemented using dot-separated words, where the most common top-level namespace is System, such as System.IO and System.NET (a complete list can be found in [Portable .NET Library Documentation]). There are other top-level namespaces as well, such as Accessibility and DotGNU are examples. New namespaces can also be created prefixed with the organization.Assemblies are the physical packaging of the class libraries. These are .dll files, just as (but not to be confused with) Win32 shared libraries. Examples of assemblies are mscorlib.dll, System.dll, System.Data.dll and Accessibility.dll. Namespaces are often distributed among several assemblies and one assembly can be composed of several files.
Common Language Infrastructure and Common Language Specification
The Common Language Infrastructure (CLI), or more commonly known as the Common Language Runtime, is implemented by the .NET executable. The runtime is used to execute compiled .NET applications. The common language infrastructure is defined by the ECMA standard ECMA-335. To run an application, you must invoke the runtime with the relevant parameters.The Common Language Specification (CLS) is specified in chapter 6 of ECMA-335 and defines the interface to the CLI, such as conventions like the underlying types for Enum. The Portable .NET compiler generates an image that conforms to the CLS. This is the Common Intermediate Language. The Portable .NET runtime takes this image and runs it. The ECMA standard formally defines a library that conforms to the CLS as a framework.
Managed and Unmanaged Code
Within a native .NET application, all code is managed; that is, it is governed by the CLI's style of memory management and thread safety. .NET applications can use legacy code, which is referred to as unmanaged, by using the System.InterOpServices libraries to create C# bindings.Developers
External links
- redirect[[Template:Portal]]
- [Project homepage]
- [Southern Storm Software homepage]
- [DotGNU Wiki]
- [Article '2001 -- The Year When DotGNU Was Born']
- [The Free Software Foundation]
- [Mono Project homepage] - Another open source alternative to MS.NET, very similar in many ways.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
