Väldigt enkelt kan man säga så här. Carbon och Cocoa är två primära API´s för Mac OS X.
Carbon tillåter applikationer som inte är speciellt skrivna för Mac OS X, att ta del av många av X:ans features, medan Cocoa automatiskt ger ALLA funktioner i X:an.
Nån kanske har hört talas om Macintosh Toolbox? I alla fall, det är en API för 9:an.
Skyddat minne, multitasking och Multiprocessing kommer automatiskt med i båda API:erna, men i brådskan att få bakåtkompabilitet så smög det med lite felaktigheter som gör att Carbon inte uppför sig likadant som Cocoa.
Carbon har sina rötter i Macintosh Toolbox, medan Cocoa är något helt nytt, det är en objektorienterad Framework.
Skillnaderna är kanske inte så otroligt stora för end-usern. Men vissa grejjer irriterar. Till exempel Scrollmöss. Cocoa ger automatisk funktion mot alla populära scrollmöss (om inte alla). Carbon ger inte det. Programvarutillverkarna måste skriva kod för det själva ifall man ska skriva i Carbon.
Carbon ger inte tillgång till Fontpanelen, med det ger Cocoa.
Carbon delger inte access till system services, vilket Cocoa ger.
Save och Print dialogen som så käckt dyker ned i dokumentet i en Cocoa-applikation gör inte det i en Carbonapplikation. Dom dyker upp mitt på skärmen som i Mac OS 9.
Det finns en massa sådana här exempel. Det är inte stora skillnader men det ger följdaktigtligen att ett program skrivet i Cocoa ger att det ser ut som i andra Cocoaprogram, medan Carbonprogrammering möjliggör en spridning av funktionaliteten till flera olika ställen. Det blir inte fullt lika intuitivt att hitta t.ex. preferences (preferences i Cocoa ligger i Applikationsmenyn, medan i ett Carbonprogram så kan det vara lite var som helst. Om jag inte minns fel så ger det en utgråad preferences i applikationsmenyn om man inte lägger den där)
Det där blev mycket utspritt svammel, men ni förstår var jag vill komma och vad jag förespråkar
[ 15 Mars 2002: Meddelandet ändrat av: - Daniel Eriksson - ]