To read all comments associated with this story, please click here.
Cocoa is AFAIK the current name of the OpenStep / NeXT APIs.
The OpenStep APIs were ported to Windows under the name "OPENSTEP Enterprise" (OSE). I wouldn't be surprised if some parts of this continued to be maintained even after the Apple buyout.
The only major parts missing would be the Aqua UI, but that work was to some extent already done for iTunes/Quicktime and the Core* frameworks (although iTunes/Quicktime probably have some them to a limited extent).
So it is highly likely that "Cocoa for Windows" does exist to some extent, but is probably not complete enough to allow trivial porting of OS X apps to Windows.
Safari isn't a trivial app, and it likely uses some Apple-specific technology, suggesting that they've ported at least part of their private frameworks too. Lack of those private frameworks is a major problem for GNUStep ports.
On the other hand, with access to all the source, they may have ported only what they needed, leaving lots of holes in the API that would be a hassle for others.
It's hard to believe, though, that they'd go to all that trouble without some thought of releasing it. It's not like it wouldn't *sell* on Windows, even as a barebones porting system using gcc. Cocoa makes most Windows app frameworks look like bad jokes, and while I loathe and despise XCode and IB, they're no worse than Visual Studio.
I've not installed Safari on my Windows machine, but I read this at scobleizer.com (Robert Scoble's blog):
http://scobleizer.com/2007/06/11/welcome-to-the-blurry-but-fast-bro...
"#
Actually, Apple has accomplished more than just releasing a fast browser, with significantly better standards support than IE, on Windows.
This isn’t a simply a “port” of Safari to Windows, but the same Objective-C source code used in Mac OS X. Essentially, it’s a full blown Cocoa application running on Windows. The included runtime DLLs are the fabled Yellow Box for Windows.
This would be the equivalent of Microsoft delivering a beta .NET application, such as Expression Studio, for Mac OS X.
Comment by Scott — June 11, 2007 @ 6:45 pm"
When NeXT was still around, NextStep (based on OpenStep) ran on NT and BSD; when Apple bought them, OSX NextStep was branded "Cocoa" and NT NextStep was branded "YellowBox" (which did see a limited release, IIRC). (The exact history escapes me, but you get the gist.)
So it appears that Apple is using the old YellowBox dlls, which you can think of as NT Cocoa, and therefore Win Safari is in essence a "Cocoa" app.
Note that later comments in that same Scoble blog speculate that this may be the cause for Win Safari's huge memory requirements. I've see reports of Win Safari using 300-400MB for only 5 or six tabs, and someone above mentioned reports of it using 700MB.






Member since:
2005-07-07
The Mac version of Safari appears to be a Cocoa application (isn't it? I don't have a copy to check right now.)
What is the Windows version? Has anyone identified the language/framework? It seems like a lot of trouble to duplicate with a different toolkit, and you'd have a fundamentally different product. Could this mean that Cocoa for Windows actually exists and is usable for a fair sized project?
If so, that's far and away the most interesting thing to come out of WWDC since the Intel transition. Sooner or later they will let it out....