Design Element
Comment on "Apple's Overall Strategy for Frameworks"
by cjwl — Dec 14
I would definitely agree that there is no grand plan, while Apple has done a good job of keeping Cocoa cohesive there have been a lot of growing pains over the years especially before OS X. Objective-C EOF went through major revisions which severely broke backward compatibility and before that was DBkit, there was a definite learning experience through the years. Some EOF concepts such as Key Value Coding were merged into Foundation before Core Data came along, making the EOF-y concepts in CoreData a more natural evolution for Cocoa developers. Objective-C EOF was far more complex than CoreData is, I suspect it would have not been well received by Mac desktop developers.

Foundation and to a lesser extent AppKit went through fits of refinement pre OS X. AppKit had already gone through a major overhaul in the appkit -> AppKit OpenStep transition, Foundation went through revisions and dropped classes during the YellowBox and WebObjects period. There was the whole thing with replacing DPS under the hood too. Cocoa was pretty stagnant in the pre-10.0->10.2 days while Apple overhauled everything else so we have had a settling period of the API's which gives the appearance of grand design. Cocoa has become more of a moving target these days now that the growing pains of OS X are largely over and I think we will see things come and go as it evolves more.

I believe the Java Cocoa support was dumped because it was not well received, this seems obvious just from the general vibe coming off the developer community. There was a lot of work put into the Java bridge for WebObjects so it was relatively easy to jump on the Java bandwagon with Cocoa. But there weren't good enough reasons to use it, you lost one of the major reasons for using Java, supposed portability, and the Java GUI kits were becoming Good Enough. On top of that people who wanted to write native Mac apps seemed OK with Objective-C/C/C++. I know people who have done large Java apps for the Mac and they did not use Java Cocoa, they still want the cross-platform parachute and I can't blame them.

Really, if Apple wanted to make it harder to port Cocoa programs to other platforms they would have stuck with and forced everyone onto Java Cocoa with the bridge. What a goddamn nightmare to emulate and completely unpleasant to do. It is easy to compile Objective-C with gcc on most platforms, all you need to do is write the frameworks which you would have to do with Java Cocoa anyway.
Back to "Apple's Overall Strategy for Frameworks"
Design Element

Copyright © Scott Stevenson 2004-2015