Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Open source Cocoa implementation for Windows and Linux (code.google.com)
68 points by daeken on June 22, 2010 | hide | past | favorite | 24 comments




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.


Link to actual project page: http://www.cocotron.org/


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.


AppKit runs on Windows, Foundation on Windows, Linux and Solaris.

Translation: No GUI on Linux or Solaris.


I understand Cocotron can't borrow code from GNUStep, but can't GNUStep borrow code from Cocotron?


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.


The GNUStep libraries are LGPL. And they've been implementing Cocoa for years, so it would surprise me if Cocotron is more complete.


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).


53 apps, according to aptitude.


I don't think its fair to say that Cocotron has implemented more than GNUStep.


It could, but the two codebases are completely unrelated, so it might not always be useful.


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.


I can't imagine Cocotron being so dependent on its internals as to make reusing parts of it on other projects impossible.


I'd really just rather have GTK work nicely on a mac, actually.


GTK is a UI toolkit. Cocoa is more than just UI.


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)


As a way to develop on Windows with Cocotron is to use a dynamic language which binds to Cocotron.

For example the Clozure Associates, have put in their open sourced common lisp - ccl the cocotron, and it's available from there.


Hmmm... Textmate for Windows, finally? Heh.


We're still waiting for Mac OS X release.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: