VistaDB on Mac OS X with Mono 2 screenshots
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...
This is a full screen shot of the Data Builder running a test database.
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).
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
- Mono Moonlight and Silverlight – Mono better than the original?
- Visual Studio 2010 VPC Preview
- The GC does not solve all memory leaks



