As some of you know, NeXTSTEP was very popular because it allowed developers to create applications in a fraction of time it would take on the other platforms. What if we could program in Objective-C on Windows, Linux, BSD and other platforms? Yes, we can! Here I’ve got a couple tips for those who want to port Cocoa apps to other OSes.
Cocoatron is a very young alternative. It was started in 2006. It promisses to be the “Cocoa for Windows” implementation. It’s not very mature and you will often find a NSUndefinedClass, which will make your app crash. You must be using a Mac in order to compile code using Cocoatron. Not to mention the fact you may end up having to use the WIN32 API for some stuff.
GNUStep seems to be the best choice if you want to program in Objective-C on other platforms. It features many tools like Gorm(similar to the Interface Builder), ProjectCenter(similar to Xcode) and a couple other apps. It can be implemented on Linux, Windows, BSD and most(if not all) operating systems out there. And best of all, it’s released under GNU Lesser General Public License(AKA LGPL) which allows you to create commercial and closed-source app using it. It uses its own drawing system, which will not allow an app to look like a native app. The workaround is to theme it! It has a great themming functionality. Also, you must ship the GNUStep installer with the apps you create using it, otherwise they will not work.
CoreFoundation isn’t written in Objective-C, but Apple has made it open-source. One of its biggest problems is the fact it’s an old version of CoreFoundation. It’s the CF from Tiger, newer versions are not open-source. It can be ran on Linux and Windows under Cygwin.