[Mono-osx] Is native look on OS X possible?

Joanna Carter cocoasharp at carterconsulting.org.uk
Wed Feb 11 09:01:08 EST 2009

Iain Collins a écrit :

>  When I first saw mention of Delphi in this this thread I thought
>  "That's crazy, why is someone going off topic and mentioning Delphi?"
>  (and I think I wasn't alone in thinking that :-) but looking at
>  Delphi Prism it makes more more sense.
>  I wonder if you - or another user of Prism - could clarify a few
>  things about how you use it in practice for Mono/Mac OS X development
>  - these questions sound a bit like shill marketing questions for
>  Delphi Prism but I'm genuinely interested to know more about it if it
>  can stream line my cross platform Mono development, and I figure
>  others might be too.

Let me explain my background :

I am a consultant who spends most of her time teaching developers how to 
design solutions, thus I don't tend to write complete programs, my job 
is to help application developers make that task easier.

I am also a member of TeamB, which is the international network of 
newsgroup monitors and general "bigheads" started by Borland to support 
their users. Unfortunately, over the past years, Borland did their best 
to destroy their development tools division and we suffered a series of 
disastrous releases which put more and more people off using Delphi at a 
time when Visual Studio and C# was emerging as a very strong contender 
in the development tools market.

Despite my "allegiance" to Borland, I found my clients were looking for 
better solutions than Delphi and thus I started, over four years ago, to 
use C# with one particular client, to develop an MVP (Model View 
Presenter) framework that would allow them to refactor their "spaghetti 
code" Delphi application into something that they could write the 
business logic in business classe and have the UI to be readily 
customisable to the client's requirements.

Out of the last four years has come a very carefully thought out set of 
frameworks that allows us to put Winforms or Web front ends onto a 
completely unchanged business layer.

In the meantime, Borland, finally, divested themselves of their 
developer tools division, starting by forming CodeGear as a wholly owned 
subsidiary, then finally selling CodeGear to Embarcadero, who have 
allowed CodeGear to blossom back to the kind of innovation and quality 
that used to be their original trademark.

Also, during that period, CodeGear tried to make a single source native 
Win32 and .NET compiler to allow Delphi developers to easily move their 
apps to .NET. this turned out to be "not a good thing"(tm) and, only 
recently, they licensed what used to be Chrome (also known as Oxygene) 
from RemObjects, to give them a mature "Pascalesque" .NET compiler, that 
runs in Visual Studio, to add to their stable of products.

>  - Do you use Delphi Prism to develop all your Mono applications in,
>  or just when it comes to building/rolling out Mac OS X versions?

Apart from the need to provide OS X UIs for our .NET applications, we 
would not normally use Mono for application development. All of our 
business code is written, primarily for a Windows UI but, due to the 
separation of our frameworks, and due to the arrival of Delphi Prism, it 
made sense to start looking at using the Mono frameworks in Delphi Prism 
to create OS X UIs.

>  - Do you think it offers a particularly well integrated solution for
>  Mono/Mac OS X development?

Personally speaking, I think that Delphi Prism gives me a very easy 
solution to developing OS X front ends for .NET applications; see the 
example project I wrote for the Prism Wiki.

>  For example, I have used a range of IDE's and editors from Visual
>  Studio in VMware, to Eclipse and TextMate on Mac OS X. Can you really
>  do everything in just Delphi Prism (& Interface Builder), or do you
>  still end up having to do a bit of fudging to glue things together?

If I installl Delphi Prism in a full version of Visual Studio, I can 
develop C# class assemblies, import them into a Prism project, create 
the UI in Interface Builder and link that UI to the Prism classes that 
their custom tool provides from the NIB file. Of course, I could also 
develop specialised ObjectiveC controller classes in XCode, import them 
via Interface Builder and extend/implment them in Prism.

>  - Lastly, it looks like Prisim is 'just' a nicely packaged up set of
>  free tools (such as Mono) and a compiler in a Visual Studio shell.
>  This isn't a necessarily a bad thing, it's not that expensive for a
>  professional licenses and I could see it saving a lot of time and
>  effort - and making things easy for developers who are not already
>  familiar with Mono or Mac development to work on .NET/Mono projects.
>  Do you feel there is a significant benefit to using Prism over using
>  existing free tools (e.g. like Mono Develop)? If there are particular
>  features you like I'd be really interested to hear about them.

I took a look at Mono Develop and found the interface to be somewhat 
inconsistent with both the OS X and Windows way of doing things and, 
since I already make extensive use of Visual Studio in Parallels for 
most of my development, I decided it was easier to simply install Prism 
into the existing VS IDE.

The only thing that would move me away from that setup would be an OS X 
IDE that allows me to use C# to easily connect to Interface Builder 
NIBs. MonoMate is an interesting project but not yet really as mature an 
IDE as Visual Studio.


Joanna Carter
Carter Consulting

More information about the Mono-osx mailing list