[Mono-osx] Mono 2.6 and Windows.Forms on MacOSX
Miguel de Icaza
miguel at novell.com
Thu Jan 7 14:30:32 EST 2010
> I have floated the name "Cocoa Conspiracy" in this forum, but no one was
> interested in conspiring with me. My project is implementing
> System.Windows.Forms.XplatUICocoa, the Cocoa Driver for Mono's MWF. This is
> the heart of the implementation of MWF. It is not a bridge or thin wrapper
> like the products we discussed. It currently uses MObjc and MCocoa to
> facilitate access to the Cocoa framework. All the other implementations of
> XplatUIDriver just use PInvokes to access the underlying window system APIs,
> but they all are based on simple C functions calls. Marshaling Mono
> subclasses of the Cocoa framework classes across the divide is a big help.
Nice approach. Is any of this code available for previewing anywhere?
> The project's aim is to help the portability of .Net/Mono applications the
> Mac. Some insist you cannot get a really good UI without customizing it for
> each platform. But I believe that the ability to take an executable from
> one platform to another, and get reasonably correct behavior and appearance
> is achievable and will give a huge boost to cross-platform interoperability.
I agree; Additionally, many times, even if you have a native API,
developers go out of their way to differentiate their UIs by creating
custom widgets and custom controls to improve the user experience for a
specific application, so they end up different.
> There are other cross-platform GUIs (like GTK#) out there, but I suspect
> that the people using them are outnumbered by .Net developers using SWF.
> SWF is key to making the Mac accessible to the .Net talent pool. The Carbon
> Driver is riddled with calls to functions that have been deprecated or are
> not available to 64-bit applications. Apple introduced Carbon to ease the
> transition from OS 9 to OS X and seems more inclined to retire it than to
> maintain it.
Additionally, a collaborator has created a small "bundler" that we are
planning on integrated into Visual Studio, the idea being that you can
go from Visual Studio to a Mac-accessible DMG file that you can
More information about the Mono-osx