Carbon and Cocoa Are Not Mutually Exclusive

Apple engineer Eric Schlegel, in a post to the Carbon-Dev mailing list:

I think the important point to understand is that artificially dividing up the world of Mac OS X APIs into Carbon and Cocoa, and considering that these are mutually exclusive, is the wrong way to look at things. Mac OS X provides a huge variety of APIs at different levels for use by an application. Some have C interfaces, some have Objective-C interfaces. Someday we may even have C++ interfaces. A Mac OS X application is just that — a Mac OS X application, not really a Carbon application or a Cocoa application. A Mac OS X developer should be prepared to use any API from across the system that does the job, regardless of what framework it comes from. Our job at Apple is to make that possible, and to remove barriers that are in your way when trying to use CoreImage in a app that uses primarily HIView, or a Carbon event in an app that uses [NSApplication run], or using a POSIX API from an app that uses Swing, or whatever is blocking you from using the most appropriate API for the task.

Bookmark this and send it to anyone who claims that only “Cocoa apps” are “truly native” Mac OS X apps.

Tuesday, 31 May 2005