Compling a Cocoa application for Windows–getting closer

We’re getting closer to the day when Xcode will display the “Windows” check box as a compile option. Check out [this post from the Cocoatron mailing list](http://groups.google.com/group/cocotron-dev/browse_thread/thread/83f4db0144b4cb53/b6158c19b1551dd0?#b6158c19b1551dd0) where two of the devs talk about the obvious: using Apple’s CoreFoundation code to compile a Windows app written in Cocoa.

I’ll say it again: Apple’s money-making iApps are likely written in Cocoa or using Cocoa and Carbon and those frameworks have been written to allow for Windows compilation. If Apple’s doing it, you’ll be able to do it, but only when Apple’s worked out enough bugs to protect their reputation–no one wants to make buggy Windows software out of the gate. Also, Apple needs to look like they are the best at the technology they bought years ago and that hasn’t happened yet.

So here’s the obvious list:

* Cocoa for Windows ([“Yellow Box”](http://www.cocoadev.com/index.pl?YellowBox)) exists today inside Apple only. Proof is in WebKit source code.

* Cocoa allows Apple to “wall off” the rest of the Windows assorted crud and build their own apps using Windows as the runtime. Note how the UI elements, [font smoothing]()http://www.joelonsoftware.com/items/2007/06/12.html) and general application behavior are like *MacOS X* rather than Windows. This is similar to a Java app running in Windows. It’s also very different than the average Windows developer.

* Cocoa for Windows will encourge Windows developers to write for the Mac. Those Windows developers will find out that the bridge is one way and the toll is to port your app to Objective C. Apple’s typical attitude: “You’re doing it wrong unless you’re doing it our way”.

* Apple doesn’t want a lot of independent developers that help their platform. They don’t want a few large developers either (Adobe for instance). Instead, they want the developer to look good because of *Apple’s* halo effect. Remember, Apple’s the star and not your app. People should buy an Apple product because of Apple and not the outside developer.

* Apple will ship another Windows app next year to help them make money from the Windows platform.