Read Digital Edition


ADS BY GOOGLE
Top Three Links You Must Click On


Mono 1.0 Details
SWF changes again

Team Mono met their goal of a first half 1.0 release. This happened just as we were going to press last month, but I was able to change the headline and first paragraph noting the release. This month, I will discuss it in detail, and finish with a look at some new directions for System.Windows. Forms (SWF).

Mono 1.0
Mono made its June 30 goal, so I was able to pack up a CD with the Mono 1.0 source, the install packages for the different OSs, documentation (such as release notes and how-tos), and a copy of Open Office for Windows and Linux. I then burned "Independence from Microsoft" Day CDs for the 4th of July party I mentioned back in the June issue. The next CDs I make will include MonoDevelop, SharpDevelop, and Eclipse.

This release supports 17 .NET namespaces, Java via IKVM, LDAP, GTK#, and more database-specific clients than the two (MS SQL and Oracle) that Microsoft supports. Most of these functions run under Mono on seven different CPUs, and under six different OSs. Compile under Visual Studio on Windows and run on S390 under Mono. Compile under Mono on the Mac and run on Windows using the Microsoft .NET runtime. Of course, you can run all of these using Mono on Windows without Microsoft .NET if you want.

Did I mention tools? Included in the release are an assembler, disassembler, debugger, utilities for Web service setup, the ASP.NET Web server (XSP), and mod_mono for using Mono's ASP.NET services on Apache. Of course, Mono ASP.NET modules run on SQL Server as if they were built with Visual Studio.

Missing
There are, of course, some limitations. Java compatibility is limited to features supported by the GNU Classpath libraries, which are an open source implementation of the Java classes. It supports versions 1.0 - 1.4, and much of it is complete. Its weaknesses are similar to the ones Mono has: GUI, component interop, and security. Mono is weak in System.Windows.Forms; Classpath has no AWT, and Swing is halfway done (see http://gadek.debian.net/SableVM-Swing-new/ for screenshots). Mono has little COM interop; CORBA is almost non-existent in Classpath. These things are just hard to do in a cross-platform manner. Otherwise, Classpath looks close to complete (see www.gnu.org/software/classpath/classpath.html under Classpath::Status links to view the status for each version of Java).

The Mono assembler is missing a few key features, and the disassembler is both incomplete and likely to be replaced.

There is no support for COM, RuntimeInteropServices are missing a dozen classes, System.Windows.Forms is missing in action, and the VB compiler is at a very early state. System.Drawing is good enough to be officially supported, but still has many unfinished details, such as different line and brush style attributes, and format conversions.

Security has a lot of different facets and touches everything from assembly signing to certificates, Code Access Security (CAS), and encryption. Mono fully supports many of these features, but quite a few of them still need work, and some still need a lot of work.

Some classes, such as the DB2 and Oracle connection classes, rely on commercial libraries from those companies, and will not work on computers that do not already have those installed.

A group of students called NSIP (Novell Student Internship Program) has posted a list of Mono related tasks students and others can work on. The list is at mono-list/2004-July/022118.html.

SWF
The big missing piece is SWF. In version 1.0, SWF is so broken that a font issue prevents loading even a blank form. In retrospect, we should have rolled SWF back to a point where it had some functionality. The good news is that SWF is one of the top priorities for version 1.2, and Novell has programmers working on it full time. Right now, the infrastructure is being rewritten again. This time, System.Drawing will replace Wine. This is similar to the way in which Portable.NET is implementing SWF, except that Mono is using Cairo as the base for System.Drawing, and Portable.NET is utilizing X11.

Work Continues
We started freezing the Mono code about two months before the release of 1.0 by adding limits on what kind of changes could be checked in. So, as soon as version control was reopened, work continued on WSE2 and XML2 and a flood of optimizations were checked in. Mainsoft, continuing their support for Mono, have taken on the task of improving performance and scability in the Mono ASP.NET and ADO.NET libraries. Also, two Mono members have taken on the tasks of keeping Mono current on FreeBSD and S390.

About Dennis Hayes
Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

  Subscribe to our RSS feeds now and receive the next article instantly!
In It? Reprint It! Contact advertising(at)sys-con.com to order your reprints!
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE
This past weekend I set out explore some of the extension capabilities of Google Wave. One of the we...
More good news for cloud computing! Google last week released its once mysterious Chrome Operating S...
We talk a lot about social media on Marketing Trenches. And for good reason – Social media seems to...
In CloudBerry Lab we are striving to make our customer service better. In this competitive market wi...
Intel has put out its promised beta SDK for Windows (C and C++) and Moblin (C) developers working on...
InformationWeek stumbled on a Microsoft patent application dating back to 2006 deceptively titled “M...
Berlin-based ThinPrint AG, the printer virtualization house, thinks it’s got a cloud solution for th...
IBM has acquired Guardium, a seven-year-old subsidiary of Israel’s Log-On Software transplanted to M...
But on the web, access to services is implicit in the fact that the business is offering the service...
Behaving like it’s got a future, Sun Monday put out what it calls a significant new version of Virtu...
Oracle has offered to cordon off MySQL inside a combined Oracle-Sun to get the European Commission t...
The second set of charges filed last week against Indian outsourcer Satyam Computer Services founder...
Gartner told Reuters that it overestimated how many PCs Acer shipped in the last seven quarters by a...
Office Web Apps, Microsoft’s answer to Google Apps, are supposed to be out sometime in June along wi...
Gartner thinks the server business has stopped sliding into the abyss. Third-quarter sales weren’t a...
Gartner is buying ~$40 million-a-year AMR Research Inc for close to $64 million in cash. AMD special...
Singed by user reaction to its plans to up the price of its support contracts, SAP Tuesday postponed...
Apparently Google Gears ain’t gonna stick around that long. Google Apps will eventually get their of...
Oracle seems to have divided the open source ranks over the MySQL delay it’s having closing its acqu...
We hear – well, you know how people talk – that Oracle has been quietly meeting with the European Co...