Does this exist because someone wanted an open source version of the Cocoa apis that isn't GPL'd? Otherwise, I don't understand why they wouldn't just direct their energies into GNUStep.
The aims of the projects are quite different. Cocotron is designed purely as a porting toolchain, whereas GNUstep provides a complete IDE and many other cross-platform components.
This difference in philosophy becomes evident in some practical ways:
* Cocotron is designed for integration as a cross-compiler within Xcode. You can literally copy your Mac app or framework target and retarget it to Windows or Linux with a few clicks in Xcode.
(GNUstep also does cross-compilers in theory, but integrating with Apple's IDE is not their prime focus because GNUstep traditionally has had its own Next-derived dev environment.)
* Cocotron has a minimum of dependencies and tries to be very lightweight. Its Foundation and AppKit DLLs are just a few megabytes.
* Cocotron aims for a platform-native look, at least as far as possible within the constraints of Mac OS X resource and code compatibility.
* Cocotron's stated goal is Cocoa compatibility. It does not have its own public API extensions, unlike GNUstep.
This is the first time I hear about Cocotron - and it seems to have quite a lot of activity based on the part of the changelog that I just looked at. I wish there was a bit more information on the Wiki pages (there is none at this point).
More info would certainly facilitate developer adoption to what seems like (at the very least) a pretty interesting project. Kudos to the developers - looking forward to hearing more about it.
GNUStep is licensed under the GPL and has not implemented as many Cocoa features.
Cocotron is licensed under MIT. Assuming that the GNUStep authors want to maintain a stricly GPL codebase, they would not want to borrow anything from cocotron. The authors of cocotron chose MIT specifically to be friendlier for commercial developers.
MIT licensed code doesn't restrict the licenses of derivative works. Because of this it can be incorporated into a GPL codebase without affecting the licensing of the GPL codebase.
I know that the project is old, but I've personally never heard of much being implemented using GNUStep. I was under the impression that it was an abandoned project, though I never bothered to check their homepage.
[I assumed that AfterStep was implemented with GNUStep, but I just looked at the dependency list, and it doesn't include GNUStep...]
Well if you use Ubuntu, then just search for gnustep, or ".app" or anything that might require GNUStep and you would find a lot of apps.
The problem for me, is the menu system - in theory it really looks cool, that you can detach menus, and leave them as commands (which modern UI's don't do, except maybe Autodesk Maya).
But then I just can't get used to it - give me Window's menus, or Mac OS X ones, or Gnome/KDE and I'm fine - I just can't adjust to the NextStep/OpenStep/GNUStep (okay, my casing is bad here).
I assume by this you mean that they are independent implementations without a common ancestor, right? They seem to target the same thing, even though they don't share a common ancestor, so I would imagine that there is still a lot of potential for cross-pollenation.
GTK/Glib/whatever is more than just UI just as Cocoa/Foundation/whatever is more than just UI.
Oh, and GTK runs on far more platforms than Cocoa (Cocoa runs on Macs and iPhones/iPads, whereas you'd be able to use GTK on Mac, Windows, desktop and handheld Linux, as well as other Unix flavors)
http://cocoawithlove.com/2010/04/options-for-porting-objecti...
http://cocoawithlove.com/2010/04/design-of-multi-platform-ap...
http://cocoawithlove.com/2010/04/porting-mac-program-to-wind...
edited to put links in chronological order