[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cocoa Compatible, is it actually possible?
From: |
David Chisnall |
Subject: |
Re: Cocoa Compatible, is it actually possible? |
Date: |
Sun, 26 Jul 2009 22:41:32 +0100 |
Hi Lucas,
On 26 Jul 2009, at 22:32, Lucas Samaruga wrote:
Hi all
From total ignorance.
Is it possible to make an application fully compatible between Cocoa
and GNUstep?
Yes, it's possible (at a source level, anyway. I believe the bundle
layouts are such that it's also possible to create a .app bundle with
an OS X binary as well as GNUstep/Linux/BSD/Whatever binaries, but
I've never actually tried).
In general, if you stick to Foundation and AppKit, your app should
Just Work⢠with GNUstep. There are a few other frameworks, for
example the Address Book and CoreData which have GNUstep versions too.
In practice, you will find that the probability of any given class or
method being supported increases with the age of the API. Anything
from OpenStep is pretty-much guaranteed to work with GNUstep. Most
things from OS X 10.3 and earlier work. Quite a few things from 10.5
work.
Of course, patches for any missing methods are very welcome. Often
implementing a missing method (or class) in GNUstep is less effort
than modifying your application to avoid using it...
Is there any list of incompatibilities or api differences?
There used to be an automatically-generated list somewhere, but it
wasn't very accurate. I'm not sure if it still exists. If you
develop with GNUstep and then port to OS X, things are much more
likely to work than the other way around, as long as you don't #import
any of the GNUstep extension headers (and, even then, they are often
available as categories on OS X).
To give you a rough idea of the completeness of GNUstep, I use the
Apple API documentation when I am writing GNUstep code, rather than
the GNUstep docs, and haven't come across a missing method that I
actually wanted to use for quite a while.
David