Maloder: OSX binary loader for Linux.
github.com
github.com
The Cocoa APIs are, of course, fairly incomplete. From a quick Google search, they don't seem to have finished Core Data, and I'd imagine things like Core Animation are quite a ways off. Then, there's the integration problem. People that are likely to develop with an alternative implementation of Cocoa are likely to be "Mac people", that is, user interface evangelists (Lion's iCal design aside). GNUStep apps don't fit in with Gnome, or KDE, or, well, any desktop environment that a large group of people care about.
As a person (admittedly, I'm just a student) that has developed both in Cocoa and GTK+, I've found convincing myself to work on my GTK+ projects to be a chore. To put it only somewhat mildly, Cocoa is probably the best framework I've ever used. Want something to smoothly slide to the left? You can do that, in one line of code. Want to pull down some data from the web and parse the XML response, all in a background thread? That's easily achievable with Cocoa, and you don't even have to think about the threading issues. It just happens.
GTK+ et. al. are, of course, open source projects. They're created by volunteer developers (let's leave Red Hat out of this, for convenience). In the end, though, does it matter to developers? Cocoa is fun. GTK+ has mostly directed me into hours of reading C API documentation while I'm writing code in languages that are not C.
I'm not really sure where I intended to go with this - it has little to do with the original post, which I think is an incredibly impressive piece of work, solving a task that make my API and UI concerns seem like minor squabbles.
The easiest way to do this reliably would probably involve writing your own mini-linker load the Mach-O binaries in Linux from the JVM, bypassing dlopen() and friends.
> pretty much every Unix but AIX
OSX is actually a certified UNIX.http://arstechnica.com/apple/news/2007/08/mac-os-x-leopard-r...
If you had brought up the section of the iOS Developer License Agreement relating to "non-Apple-branded hardware" you might be in the right ballpark, but the legality of a similar clause in the Mac OS EULA was cast into doubt in the Psystar case. Psystar aside, the (non-commercial) OSx86 scene continues to thrive, unhindered by Apple.
At the end of the day, given that you would be running the official Apple toolchain, how would Apple be able to prove that a particular iOS app was not built on a Mac?
That's not to say they couldn't block something like that, but with GPL code it does become significantly more difficult, if not (technically, not "this would take forever to port back to Linux") impossible.
From the Cocotron website: "The Cocotron is an open source project which aims to implement a cross-platform Objective-C API similar to that described by Apple Inc.'s Cocoa documentation. This includes the AppKit, Foundation, Objective-C runtime and support APIs such as CoreGraphics and CoreFoundation."
But I fully expect all of them to suffer Apple's full wrath as soon as they get noticed by their legal...
Perhaps it's time to start thinking on collective defense.
This approach has been pursued before: http://hcpnet.free.fr/applebsd.html
That being said, this is like a Mac version of Wine for Linux? If so, cool.