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

New Versions of Portable.NET and Mono Released
Mono passes the Vault Web server acceptance test

DotGNU is getting ready to make a big splash with the release of v0.1, including Portable.NET v0.6. Mono has released v0.28 with many new features, and Ximian has completed its contract with SourceGear.

DotGNU Readies v0.1
Portable.NET has released v0.6, but the DotGNU CD is running a bit behind schedule. The CD is in the final stage of packaging and testing, but will miss my deadline by what looks like a few days, so the details will have to wait another month.

The 0.6 version of Portable.NET has been released and will be included on the DotGNU 0.1 CD. The last couple of Portable.NET releases were practice runs for this release, and with the exception of WinForms and a few other hot spots, this is an incremental release. Outside of System.Windows. Forms, most of the work has focused on bug fixes, cleanup, and the addition of a few key features.

The main runtime changes were the adding of a method for applications to determine what OS the program is running on, and correction of some glitches in the marshaling of delegates. Bugs in the C compiler/loader were fixed, and metadata and documentation were improved. The FAQ was updated (www.southern-storm.com.au/pnet_faq.html), including information on the Portable.NET implementation of System.Windows. Forms (SWF). As other parts of Portable.NET stabilized and wound down to this release, SWF continues to wind up, receiving most of the effort that went into this version. Flicker problems in several controls have been fixed, as have various small problems in System.Drawing. System.Windows. Forms.Design and System.Drawing .Design have received a lot of attention. At least a dozen controls have been improved. Also, Windows CE compatibility has been improved. System.ComponentModel, System.EnterpriseServices, and System.Security.Policy are at or near completion, and serialization and remoting have been significantly improved.

At this point (early October) the Portable.NET coding competition has not gotten as many people involved as desired. Hopefully, my column last month sent a flood of top coders over to help out. There is still time to contribute before the December 26 deadline to be eligible for a share of the $4,000 in prize money. Remember, $100 prizes will be awarded to 10 contributors at random, and winning a prize in the contest would be a great item for a student to add to a resume.

Mono Passes Test
Ximian has completed their contract with SourceGear to make Mono compatible with SourceGear's Vault version-control software. In addition to passing functional tests, a Mono Web services client used by Vault had to pass a 24-hour stress test to show its ability to handle real-world loads. Preparing for these tests helped the Mono team improve the stability of the compiler, runtime, and Web services. It is expected that the 0.29 version of Mono will bring the same stability to the Web services server component.

Mono Releases Version 0.28
In addition to the Web services work for SourceGear, this new version offers the type of improvements we have come to expect from Mono releases. This release has over 1,000 commits to CVS, and closes 144 Bugzilla bugs. Keep in mind that most bugs are fixed without ever being entered into Bugzilla. This version has added support for three processors, Spark V90 (64-bit, which also added a lot of improvements for 32-bit Spark as well), HPPA, and S390. The next version, 0.29, should also have the full PowerPC JIT compiler that did not quite make this edition.

A new group of Web services tools is included in this release, including a WSDL command-line tool for creating Web service client proxies, and the ability for ASP.NET to create a WSDL document for any Web service it hosts. Mono included a complete Web service stack in version 0.26, but with these additional tools Mono becomes a more complete development environment for Web services.

WinForms continues to leap forward: in this release a lot of work has gone into the List control and ListViewItem; the behavior of many controls is now much more similar to their analogs under Windows and Linux; and more work has been done on the common dialog boxes. One big change in this release is that System.Drawing now uses GDI+ to do all its drawing, after which GDI+ calls into Wine, gtk#, or another toolkit for final rendering. This greatly simplifies the code that allows us to have different implementations (Wine, gtk#, Coco, X11, GDI+) of WinForms.

Odds and Ends
ECMA has started a new task group (TG5) to better support C++ in .NET. This group is part of the same technical committee (TC39) that oversees C#, the .NET runtime, ECMA Script, and Eiffel. At this point it seems that this committee is working only on bindings and extensions to C++ to make it more .NET compatible. Since neither Mono nor DotGNU is working on C++ compilers, this standard will have little effect on these projects.

Novell, the new owner of Ximian, has set up a new Mono community on Novell Forge at http://forge.novell.com/modules/xfmod/community/?monocomm.

Author Bio
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