VistaDB on Mac OS X with Mono 2 screenshots

written by Jason Short on Tuesday, November 18 2008

 

Mono is a good thing

We love Mono, always have.  At my former company we used to run all our web crawlers on FreeBSD/Mono boxes from very early Mono releases.  We do periodically test VistaDB against Mono on Mac OS X, sometimes it works great - sometimes it doesn't.

OK, this is something I have been waiting for since about 2004 when the Mono project was first introduced to me.  I have always wanted to be able to run the same exe for a winforms app on Mono. 

All managed code

The Data Builder is a 100% managed app, that calls a 100% managed database.  It should be a perfect candidate for Mono to run, but the Winforms support has never been good enough before. 

Missed it by THAT much

It is almost there, the Data Builder runs, but is not useable.  It crashes a lot due to exceptions in Mono or the GTK# libs.

Screenshots or it didn't happen

I am sure many of you have heard of this phrase before.  Show the screenshots or it never happened.  Well, here are the tell all photos.  It is running Build 71 (internal test), but for some reason my NUnit on Mac OS X is not working now with an internal exception trying to load the assemblies...

Data Builder running on Mono 2

This is a full screen shot of the Data Builder running a test database.

Closer up shot

A slightly closer up shot.

MOMA report

The current MOMA report is looking better than before.  There are 10 methods tagged as TODO, and 13 methods not implemented.  Most of the not implemented ones we handle.  Things like WMI, if the system reports it as not implemented we handle that and try another way to get free RAM, if that fails, we try another, etc. 

Some of them we can't really live without though - like the DbConnection.GetSchema() - sort of need that as a database engine.  And the one odd one to me is the ShouldSerialize missing on a DbConnectionStringBuilder.  Not sure about that one.

Here is the MOMA analyzer report of Build 71 (click to see larger).

MOMA scan of VistaDB 3.4 Build 71

Mono production ready?

We get asked this a lot.  Is Mono production ready for VistaDB?  It depends.  If you are talking about a GUI desktop, no.  I don't think Mono is ready for primetime as a Winforms engine. 

Is the database engine ready? Depends on the fuctions you call.  Obviously if you use ConnectionStringBuilders they are going to have issues.  But most of our DDA test apps function ok.  And some features like Isolated storage don't work (didn't expect it to).

So what - why should you care?

I can already hear some people saying - "So what".  I personally feel that Mono is a good thing because it will one day allow those of us who love Dot Net to deploy into a much broader range of hardware and locations than is possible today on Windows.  I also think companies like Novell who are writing some of their desktop apps in Mono because they want them to run on Linux and Windows are smart, if they can afford the time.  Obviously Novell believes in the project (they are the primary sponsor for the Mono Project). 

I also like to look a the project as a way to learn more about the inner workings of Dot Net.  Sometimes seeing a different implementation of a system gives you new ideas.  We actually found work arounds to the "full" Dot Net GC problems a few years back by testing on Mono and seeing what was happening. 

The project also continues to keep Microsoft honest in it's implementation of the C# language I think.  Having another compiler other than the Windows Dot Net SDK compiler is a good thing for us all as well.

Interesting links

If you are interested in learning more about the Mono Project the address is Mono-Project.com.

 

Similar Posts

  1. Mono Moonlight and Silverlight – Mono better than the original?
  2. Visual Studio 2010 VPC Preview
  3. The GC does not solve all memory leaks

Comments are closed

Options:

Size

Colors