The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

iTunes

Does anyone know which framework/language iTunes uses?
coder
Monday, February 25, 2008
 
 
I believe it's written using the Carbon framework.
John Topley Send private email
Monday, February 25, 2008
 
 
cocoa is the framework used by Apple.  Carbon has been EOLed or at least I had heard that was going to happen when they released leopard.
Brian
Monday, February 25, 2008
 
 
Not quite on point, but I just had a stroll through the Windows executable for Safari 3 (via the Cygwin strings command) and it looks like a mix of C++ (I saw what looked like mangled names) and various Core frameworks (I saw a bunch of names starting with CG and CF) so I guess that qualifies as Carbon (since it's not Objective-C). Doing something similar with iTunes on either Windows or Mac OS X should give you some idea of what languages and frameworks were used to build it.
Jeffrey Dutky Send private email
Monday, February 25, 2008
 
 
"The Finder and iTunes are Apple’s two most prominent Carbon apps..."

http://daringfireball.net/2008/02/anchored_selection
John Topley Send private email
Monday, February 25, 2008
 
 
I just tried:

strings /Applications/iTunes.app/Contents/MacOS/iTunes

The output contains Carbon.framework and a load of IBCarbon* constants amongst other references. There's no mention of Cocoa at all.
John Topley Send private email
Monday, February 25, 2008
 
 
So what is the Windows version written in?
BillAtHRST Send private email
Monday, February 25, 2008
 
 
Is Carbon a good framework to write an application in terms of distribution and cross-platform capability (relative to wxWidgets and .NET)?
coder
Monday, February 25, 2008
 
 
The Windows version has references to various CF classes, as well, so they're apparently using (a variant of) Carbon on Windows, as well. No obvious evidence of Cocoa or Obj-C in the Windows version.

Weirdly, there are some .NET style assembly references in there, as well...
Mark Bessey Send private email
Monday, February 25, 2008
 
 
"Is Carbon a good framework to write an application in terms of distribution and cross-platform capability (relative to wxWidgets and .NET)?"

I'm not sure, but based on how well the existing Windows Carbon apps (Safari, iTunes, maybe QuickTime) fit in with the surrounding environment, I'm going to guess worse than wxWidgets but better than .NET.
clcr
Tuesday, February 26, 2008
 
 
"Is Carbon a good framework to write an application in terms of distribution and cross-platform capability (relative to wxWidgets and .NET)?"

No. Carbon is for developing Mac OS X applications* and is not officially supported or documented by Apple for third-party use on Windows.

* Apple would rather you used Cocoa for Mac OS X development, even though the prominent Finder and iTunes applications don't. I guess it's a bit like Microsoft not using .NET for Windows Explorer.
John Topley Send private email
Tuesday, February 26, 2008
 
 
> I guess it's a bit like Microsoft not using .NET for Windows Explorer.

Not really. IE had an existing code base long before .NET.

I don't know about Finder though. Could be the same case.
Ryan Smyth Send private email
Monday, March 03, 2008
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz