OK, hai sa incerc si eu
De fapt am prin arhive un articol pe aceasta tema pe care planuisem sa-l pun pe site, dar n-am mai avut timp sa-l termin. O sa scriu aici cateva idei de acolo. Ţineţi minte că legăturile mele cu programarea sunt foarte îndepărtate, aşa că exprimarea poate lăsa de dorit, din punct de vedere tehnic.
Cocoa şi Carbon sunt două API-uri disponibile în Mac OS X. API vine de la “application programming interface”, care într-un limbaj mai amatoricesc ar însemna interfaţa prin care un program schimbă date cu celelalte programe. Mai există şi alte API-uri în OS X, altul de care am auzit toţi fiind Java. Deci un programator care vrea să facă un program în OS X îşi poate alege API-ul cu care să lucreze, Cocoa sau Carbon, în funcţie de ce vrea el să facă. Carbon este API-ul care a fost creat pentru dezvoltarea aplicaţiilor care să ruleze şi pe Mac OS Clasic, şi pe Mac OS X. Cocoa este API-ul care permite crearea aplicaţiilor native OS X. Mai toată lumea are impresia că Cocoa este super iar Carbon este nasol. Dar lucrurile nu stau întotdeauna aşa:
- Cocoa este mai uşor de învăţat şi de utilizat. Mai ales atunci când vrei să faci un GUI - interfaţa aplicaţiei, ceea ce vedem noi pe ecran - Cocoa uşurează mult munca programatorilor. S-ar putea zice (exagerând un pic) că în Carbon toate elementele de interfaţă se fac “manual”, iar în Cocoa se fac “automat”. De aceea aplicaţiile Cocoa arată mai frumos.
- Cocoa se bazează în multe cazuri pe Carbon.
- Carbon este în realitate mai rapid decât Cocoa.
- Carbon este mai versatil pentru că permite lucrul cu mai multe limbaje de programare, pe când Cocoa foloseşte numai Objective-C. Şi Java, pare-mi-se.
- Carbon permite accesul la funcţii adânc înfipte în sistemul de operare, de aceea multe dintre programele care aduc diverse îmbunătăţiri sistemului de operare se fac folosind Carbon, nu Cocoa.
- Este foarte uşor pentru programatori să scrie un program Cocoa care să interacţioneze cu alte programe sau cu facilităţi ale sistemului de operare. Un exemplu ar fi meniul “Services” pe care-l găsiţi în toate aplicaţiile Cocoa, şi mult mai rar în cele Carbon. Nu că nu s-ar putea implementa şi în Carbon aceste funcţii - dar ar fi mult mai greu.
Deci dacă cineva vrea să scrie un program care să funcţioneze şi în OS X, şi în OS Classic, foloseşte Carbon. Evident că nimeni nu prea mai are interesul ăsta în ziua de astăzi, aşa că motivul principal pentru care mai toate aplicaţiile mari sunt Carbon, este acela că ele au început să existe în Classic, înainte de OS X, iar trecerea la Carbon a fost mult mult mai uşoară decât trecerea directă la Cocoa.