HomeDigital EditionSearch Dotnet Cd
ASP.NET C# Certification Exams The CLI Data Access Editorials Extending .NET Fundamentals Interoperability Interviews Migrate Mobile .NET Mono .NET Interface Object-Oriented Programming Open Source Optimization Product/Book Reviews Security Source Code UML Visual Studio .NET

Mono recently gained a couple of new corporate sponsors, so this is a good time to look at some of the project's commercial connections. The Mono implementation of SWF (System.Windows.Forms) continues to improve, and the Portable.NET implementation of SWF is taking off. On June 2 the DotGNU project announced that the combined projects under its umbrella ­ pnet, pnetlib, pnetC, treecc, and cscctest ­ had broken the three-quarters of a million­line mark with a total of 771,186 lines of code. Congratulations, DotGNU!

And Now a Word from Our Sponsors...
The Mono project was started by Ximian, a for-profit company that sells products for Linux. Although their main goal is to create a better programming environment, they also plan to make money on services, alternative licensees, and development projects.

The recent contract between Ximian and SourceGear is an example of a sponsored development project. SourceGear makes Vault, a version-control system that competes directly with Visual SourceSafe from Microsoft. They want to use .NET, but need their client to work on Unix and Linux also, so they have contracted with Ximian to hire another programmer to work on the Mono implementation of remoting(SOAP). The command-line version runs on the just-released version 0.25 of Mono.

OpenLink, maker of Virtuoso, a virtual database, has had programmers working on SWF and System.Drawing since about the beginning of the year. This was highlighted by the April release of Virtuoso 3.0, which uses Mono for Linux support. Their work with SWF has resulted in a special version of Wine that works with Mono. We hope to clean up the changes and eventually fold them back into the main Wine code base. The special version can be downloaded from www.openlinksw.com/mono.

Portable.NET Starts SWF
The Portable.NET group at DotGNU has made a roaring start on SWF. Portable.NET is basing their implementation on XWindows and System.Drawing instead of Wine; they have gotten off to a fast start, already displaying a form that includes a graph with mouseovers. For a screen shot of the application go to www.gnu.org/projects/dotgnu/screenshot3.html or for the same application running on a Mac, go to www.gnu.org/projects/dotgnu/screenshot5.html. Another Mac application, showing some different controls, is at www.gnu.org/projects/dotgnu/screenshot4.html (see Figure 1). To see this application running on an iPAQ, go to http://dotgnu.org/screenshots/7.png.

Figure 1

Mono is basing their SWF and System.Drawing on either Winelib or GTK# (set at compile time). The Winelib approach has a lot of problems, but is expected to give a deeper level of compatibility with Windows applications. This also makes SWF on Mono dependent on Winelib for portability; currently, Winelib support for non-x86 processors is sketchy (the GTK# version should run on Macs, but is well behind the Wine version in functionality).

New Release of Portable.NET
Version 0.58 of Portable.NET includes a version of Basic, Java, and XSharp (an XML processing language) in addition to a number of enhancements and fixes. It also includes the first release of a package of class libraries shared with Mono. These include data providers for MySQL, PostgreSQL, DB2, and Oracle, as well as classes for POSIX, SOAP, and EnterpriseServices. The release will include the new SWF implementation discussed earlier plus all the enhancements planned for SWF in the next two months. The .6 version of Portable.NET is expected to be released about the time you read this; it will be bundled as part of a major DotGNU 0.1 release.

Mono is in the final stages of releasing version 0.25, which will include an improved XmlSerializer (most required features are complete), IKVM.NET (runs out of the box; supports the IBM Eclipse IDE with the add-on package at www.nexus.hu/vargaz), SOAP/remoting (supports command-line version of Vault), System.Security .Cryptography (expected to be signature compatible (all interface details match) with .NET version 1.1).

About The Author
Dennis Hayes is a senior software engineer at Raytek Corporation in Santa Cruz, CA, where he writes process control software. He has been involved with the Mono Project for over a year, and is in charge of the System.Windows.Forms and System.Drawing namespaces. dennish@raytek.com

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.

  E-mail: info@sys-con.com