Popri WWDC ošiali mnohým uniklo, že najnovšia betaverzia iTunes 10.5 beží pod OS X Lion v 64-bitovom móde, čo znamená, že bola konečne prepísaná do prostredia Cocoa. iTunes je jednou z posledných aplikácií zahrnutých v Mac OS X, ktoré ešte neboli prepísané zo staršieho prostredia Carbon. Hlavnou praktickou výhodou 64 bitových aplikácií je, že jeden proces môže využívať viac ako 4 GB RAM.
Jednou z mála zmien v používateľskom rozhraní je, že prvky na ovládanie okna sa presunuli z boku na pôvodné miesto. Zdroj: macrumors.com
Carbon a Cocoa sú vývojové prostredia (API) zahrnuté v Mac OS X. Carbon bol obzvlášť vhodný v prvých rokoch Mac OS X, keďže zabezpečoval spätnú kompatibilitu s Mac OS 8 a 9 a tak umožňoval autorom aplikácií na tieto systémy ľahší prechod na Mac OS X. Cocoa, naopak, bolo nové prostredie, ktoré prišlo s OS X ako dedičstvo predošlého Jobsovho operačného systému NeXTSTEP. Cocoa bola od začiatku preferovaným prostredím na vývoj aplikácií pre OS X a nebola spätne kompatibilná s predošlými verziami Mac OS. Upravená varianta Cocoa Touch je tiež vývojovým prostredím pre všetky iOS zariadenia.
Vývojové prostredie Cocoa vychádza z vývojového prostredia pre NeXTSTEP, operačný systém vyvinutý pre počítače NeXT, ktorými sa Jobs usiloval preraziť po svojom odchode z Apple. Operačný systém tvoril neskôr základ pre Mac OS X. Zdroj: nationalmediamuseum.org.uk
Keď Jobs na WWDC v roku 2007 hovoril o 64-bitových knižniciach zahrnutých v OS X Leopard, všetci vývojári sa čudovali, že nespomenul Carbon. A to hlavne preto, že na keynote o rok pred tým Apple oznámilo 64-bitovú podporu pre Carbon a Cocou zároveň. Jobs sa však nepomýlil. Ako neskôr Apple zverejnilo na svojich stránkach, Carbon bol z podpory 64-bitov vylúčený a tak skôr či neskôr odsúdený na zánik.
Rozhodnutie zahrnúť podporu pre 64-bitové aplikácie len do Cocoa malo za následok náročnejší prechod na 64-bitov, než napríklad v prípade Windows. V dôsledku dedičstva z pred doby Mac OS X boli mnohé významné softwarové balíky vyvíjané napriek niektorým výhodám prostredia Cocoa práve pre Carbon a tak, ak chceli zahrnúť podporu 64-bitov, boli nútení od základu prepísať každý program do celkom nového prostredia. Najznámejším príkladom je Adobe Photoshop CS4 vydaný v roku 2008, ktorý obsahoval natívnu 64-bitovú verziu pre Windows, no len 32-bitovú pre Mac. Tento krok si vyžiadal značnú vlnu kritiky a používatelia Mac OS X sa 64-bitovej verzie dočkali až s príchodom CS5 v roku 2010.
V Mac OS X Snow Leopard už bola väčšina dodávaných aplikácií prepísaná do prostredia Cocoa s podporou 64 bitov. Zdroj: fosketts.net
Apple aplikácie využívali ako Carbon, tak i Cocoa. Prechod na 64-bitov začal s príchodom Mac OS X Leopard, pričom s príchodom Snow Leoparda už bola väčšina programov prepísaná do Cocoa s podporou 64 bitov. Jednými z posledných významnejších Carbon aplikácií boli Final Cut Pro a iTunes. V apríli tohto roku Apple predstavil Final Cut Pro X s podporou 64-bitov a posledná betaverzia iTunes dokazuje, že do Cocoa bolo prepísané už aj to.
iTunes pritom beží v 64-bitovom móde iba v Mac OS X Lion. V predošlých verziách OS X je naďalej 32-bitvé. Okrem 64-bitov prináša iba malé zmeny ako fullscreen mód pre OS X Lion a malú dizajnovú, podľa nášho názoru nešťastnú zmenu – tlačidlá na prácu s oknom vracia z ich súčastného umiestnenia naboku späť hore, ako to bolo v starších verziách.
komentárov
tak to je super. a tie tlacitka to je fajn – ja som z toho stale zmateny ked to vidim a trva mi o pol sekundy dlksie kym sa zorientujem ze co to je, ze to nieje okno ze to je iTunes .. takze unifikaciu len vitam
Aka je vyhoda tych tlacidiel v iTunes 32bit ked su naboku a nie hore? :)
spravili to zjavne kvôli unifikácii (zjavne predtým rozmýšľali, že to bude systém-wide), no páčilo sa mi, keď to šetrilo vertikálny priestor….
z carbon do cocoa je nutne prepisat len cast kodu. Konkretne iba casti, co sa tykaju GUI a systemovych volani a pod., co nieje ani z daleka take ako prepisat vsetko. Je to asi tak ako preportovat aplikaciu na iny OS. Ak to mas dobre spravene od zaciatku, tak prepises len platformov zavysle veci. Pri mastodonte ako photoshop to samozrejme bolo urcite narocenejsie.
mňa by len zaujímalo na čo je pogramu iTunes využívať viac ako 4 GB RAM. diky
Hmm, to me moc nepotesili, ze semafor presunuli zpatky. Uz jsem si na neho zvykl vertikalne, jednak kvuli uspore mista a jednak tam neni ten zbytecny napis „iTunes“…
@peleng: To nie je jediny dovod, preco sa prechadza na 64-bitov. Aplikacie su aj o trochu rychlejsie (v niektorych pripadoch) a ked budu vsetky aplikacie 64-bitove, nebudu musiet byt v pamati aj 32-bitove verzie tych istych systemovych kniznic, ktore tam uz su v 64-bitovej verzii (to je ale este daleko).
Ale hlavne: Cocoa aplikacie su citelne viac nativne. Staci sa pozriet na to, ako sa zlepsil Finder odkedy ho prepisali do Cocoa v Snow Leopardovi. Je rychlejsi, uhladenejsi a ma tie live nahlady v ikonach (prehravanie videa v ikonach – nie ze by to bola nejaka podstatna funkcia). Nehovorim, ze by sa taketo veci nedali spravit aj v Carbone, ale v Cocoa dostava aplikacia velmi vela „zadarmo“.
Aj ked je iTunes asi jedna z „najnativnejsich“ Carbon aplikacii, podla mna by po prepisani do Cocoa mohla byt este lepsia.
peleng :DD to asi ked budes chciet listovat v700 tera kniznici :D pritom stahovat 500 podcastov a plno ineho :DDD
MT:
pozri sa na Adobe aplikacie. Hlavne z Creative Suite. Prepisanie do Cocoa im vobec nepomohlo, su to rovnake zmatky ako boli, snad este vacsie. Vlastne GUI (nie aby pouzili na kazdy OS nativne chovanie), vlastne volania specifickych funkcii (spell checker), nenazratost, pomalost…
Lightroom je vynimka spomedzi Adobe apps, a tam je zas pre zmenu velka cast kodu pisana v Ruby.
Prepisanie do Cocoa nerovna sa automaticky lepsi program. Ano Graphic Converter, myslim aj teba. Pomalost tejto verzie je nieco neskutocne…
Jozef Remen: ono s tym prepisom a prostredim je to minimalne, napr. pri after effects sa konecne da ako tak pracovat, nakolko 4 GB na pracu s animaciou bolo peklo, hlavne ked sa robil render nejakeho fullHD videa.. predchadzajuca verzia s ktorou sa dalo robit bola AE7, potom vsetky dalsie az po cs5 boli nestastne nepodarky.. a to ani nehovorim o premiere, ktora na mac je nepodarok odjakziva :)
@Jozef Remen: Velmi si ma nepresvedcil argumentovanim aplikaciami od Adobe ;) Hlavne preto, ze ako sam hovoris, oni z Cocoa skoro nic nepouzili a vsetko sa snazili obist, aby mali co najviac zdielaneho kodu s Windows verziou. Multiplatformovy vyvoj produkuje horsie vysledky, viem to, lebo som multiplatformovych aplikacii uz zopar spravil (s pomocou Qt, ktore pouziva Cocoa – tiez len to najnutnejsie z Cocoa).
Som presvedceny, ze ked Apple prepise iTunes do Cocoa, bude z neho lepsi program.
Ale suhlasim s tebou, ze prepis do Cocoa nie je automaticky zlepsenie, lebo ludia su schopni pokazit uplne cokolvek.