discover:
Allan Hsu
On The Verge
Posted in the monoland diaries on Sep 02, 2005 at 7:23 PM

If you've been wondering what's been going on with the OS X port of imeem:

We currently have a client in development running under OS X. We use an embedded mono runtime instance to run the backend. The UI is being written in Objective-C. Bryan Berg and I wrote a bridging framework to facilitate communication between C# and ObjC.

We call the ObjC<->C# bridging framework Dumbarton, named after the bridge that spans the San Francisco Bay between Fremont and Menlo Park. Our Reasoning: both bridges are somewhat unpleasant to cross, but they get you where you want to go. (Ever tried driving across the Dumbarton with your windows open?)

The framework tries to make it easy to bring up an embedded runtime and call managed code from native code (and vice-versa). It also takes care of various caveats that come along with the whole managed<->native craziness. Some examples:
1. Mapping between the ObjC retain/release model of memory management and the mono garbage collector.
2. Translation of C# exceptions into NSExceptions down at the invocation layer so that ObjC @try/@catch/@finally works with C# method calls.

I'll post more later on our rationale behind writing Dumbarton and why we're building imeem for OS X this way.


Comments (9)

 Loading Comments...
Login to leave a comment.

RssFeed

Rate this thread:
Average Rating:
Report Post as Objectionable