Portable Cocoa applications

Viro

Registered
I'm currently thinking of learning to program in Cocoa and Objective-C. My background is mainly in Java and C++(with qt), and as such portability is important.

My question is, are there any easy ways to port a Cocoa application to other platforms? Or will I be completely stuck with OS X once I start coding in Cocoa?
 
Well, not really. The Cocoa frameworks aren't available on any other platform, so if you link against them, you're stuck using Cocoa.
 
At one time NeXT sold an OpenStep runtime environment for both Solaris and Windows. Later when Apple bought NeXT, they originally renamed OpenStep Yellow Box and continued work with the runtime environment for Windows in the developers release of Yellow Box for Windows (95/NT, but I've gotten it running in Windows 2000 Pro).

Apple had been talking with developers about supplying Yellow Box with developer's apps, but When Rhapsody was reworked in to Mac OS X (and Yellow Box into Cocoa) they dropped all plans for a runtime environment for other platforms.

Because WebObjects was based on that same runtime environment, applications made for Yellow Box for Windows would run on Windows systems with WebObjects installed (pre-5.0). The Omni Group had a (very) beta version of OmniWeb, Stone Design made a version of Create and Caffeine Software made versions of TIFFany3 and PixelNhance that would run in Yellow Box/WebObjects on Windows.

Currently, WebObjects is Java-only. Apple removed Objective C from WebObjects as of version 5.0. And at this time Apple has no plans of making either a Java-based or Objective C-based version of a Cocoa runtime environment for any other platform.

As was pointed out, GNUstep is keeping the OpenStep specifications alive, mainly in the openness of it. There is always a chance that if enough developers join Cocoa development that a GNUstep runtime environment could be started for cross platform development again.
 
That's what i'm talking about. And GNUMail is a good example of Cocoa/OpenStep cross platform defelopment.
 
Uh.... ok. So it looks like GNUStep is something like a portable form of Cocoa. So how easy is it to compile a Cocoa application using GNUStep? Is there like a 1-to-1 mapping between classes so that an application written in Cocoa just compiles fine, or do I have to tweak things around?

Thanks for the answers so far.
 
Back
Top