Home & Office Computing
Mac OS X
- By Erik M. Buck
- Mar 26, 2010
Like this article? We recommend
- 2001 to 2009: WebObjects diesApple lets a key Cocoa product and leading web application server technology used by Fortune 500 companies languish, and then morphs it into a virtually unknown Java framework before abandoning support in 2009. WebObjects continues to power the iTunes Store.
- 2001: Enterprise Objects Framework (EOF) diesIn addition to neglecting WebObjects, Apple discontinues Cocoa integration with industrial-scale, multi-user relational databases such as Oracle. EOF turned database rows into Cocoa objects using Apple patented techniques. Parts of the EOF technology reemerged as Core Data in 2005, but there is no Cocoa support for enterprise database access.
- 2001: NSDrawerApple Cocoa adds support for the frighteningly poorly conceived "Drawer" user interface objects that are thankfully no longer seen in modern applications.
- 2001: The "Java Bridge"Apple provides technology that helps Java programmers write Cocoa applications. Apple even writes some of its own applications using the Java Bridge. Unfortunately, the resulting applications are both slow and nonstandard.
- 2005: Apple abandons the Java BridgeDamned if you do and damned if you don’t! The Java Bridge never became popular, but abandoning it after some developers became dependent is a lower low than releasing it to begin with.
- 2008 to present: Arbitrary and capricious rejection of applicationsThe ridiculousness of Apple’s inscrutable policies for rejecting applications from the App Store rise to the level where the mainstream press takes notice, and the government investigates.
- 2007: Automatic memory garbage collectionThis feature is simultaneously a high and a low for Cocoa developers. It’s a checklist item that many modern developers expect, but Apple has so far deployed an incomplete solution that is currently incompatible with important technologies such as Core Image and the underlying UNIX subsystems of Mac OS X. The dusty corners of the incomplete implementation provide more opportunities for catastrophic and difficult to debug problems than the relatively simple but mature techniques it is intended to replace.
- 2000: Cocoa performance on PowerPC G4The Yellow Box precursor to Cocoa ran faster on Intel Pentium hardware than Cocoa ran on Apple’s own PowerPC G4 systems. A combination of new graphics components (Quartz), general immaturity, and a failure by Apple to optimize Cocoa for the G4 should have embarrassed Apple and may have delayed more widespread adoption of Cocoa. Some developers avoided using Cocoa for new projects because of perceived performance problems.
- 2000 to 2005: Mixed messagesShould you use Cocoa or Carbon? Cocoa technology was acquired by Apple through the purchase of NeXT. Carbon was a long overdue cleanup and modernization of the original Mac software development technology. For many years, Apple supported and promoted both technologies as equals. Some new features were added to Carbon but not Cocoa, and vice versa. Neither technology provided a complete solution on its own. Around 2005, Apple seamed to realize internally that Cocoa was the future, and Carbon has languished ever since.
- 2000 to present: Abandonment or deprecation without replacementWhat happened to WebObjects, Enterprise Objects Framework, Portable Distributed Objects, Indexing Kit, Music Kit, Sound Kit, 3D Graphics Kit, Phone Kit, cross-platform Cocoa, CORBA, Distributed Object Linking and Embedding, NeXTtime, NetInfo, and Pantone Color matching? Apple abandoned all these Cocoa subsystems and has either never replaced them or gradually provided replacements years later.