Úvodní stránka | Tato stránka v originále

Carbon (práce na počítači)

Carbon je codename Apple počítače' s APIs pro Macintosh operační systém, který dovolí dobrou míru zpětné kompatibility mezi kódem psaným k útoku na klasiku Mac OS, a novější Mac OS X. APIs je publikoval a zpřístupňoval ve formě C soubory záhlaví a dynamicky linkable knihovnu. Realizace APIs je různá ve dvou systémech, ale tento rozdíl je chráněn od spustitelný. Tento kód povolení, který odpovídá Carbonu APIs běžet nezměněný a natively na obou OSes.

Bez Carbona, aplikace psaný pouze používat starší APIs může jen být provozován v klasickém prostředí na Macu OS X.

Carbon APIs byl navržený obsahovat tolik starší klasiky APIs jak možný, dovolit snadné porting kódu dědictví k Macovi OS X. takový porting je známý v macintoshovém programovacím jazyce jako Carbonising. Carbon také dodá nový APIs odstranit některé ty nedostatky v starší APIs. Například, v klasice APIs, mnoho datové struktury byly vystaveny a kód byl čekal, že obsluhuje nebo se táže na pole uvnitř těchto struktur přímo. V Carbonu, většina takových struktur je teď úplně neprůhledné, a tak nový APIs byl zvětšen dovolit stejné dotazy a manipulace být dělán. Takové změny vyžadují dědictví zdrojový kód být mírně modifikován, ale výsledek je obvykle čistější a méně chyby-prone kód. Carbon neobsahuje některá ta starší APIs ta dohoda se nyní zastaralou technologií, například manažer palety. Na OS X, to také obsahuje další APIs pro nové technologie který byl nikdy díl Macintoshe originálu OS - aplikace vyžadovat tito nemohou běžet na starší Macintosh OS.

Uhlík je často viděn jak transitional nebo technologie dědictví, ale ve skutečnosti to je nepravděpodobné, že velké dědictví codebases (např. Adobe Photoshop, etc) bude být kompletně přepsán pro Mac OS X, a tak to nutně zůstane jádrovou částí OS X indefinitely operačního systému. Navíc, Kakao se spoléhá na Carbon pro některé jeho služeb nižší úrovně a některé služby, které nesedí kakaovému designu se přiblíží jen má Carbon APIs. Co je pravděpodobné je že prodavači softwaru chtějí rychle upustit podporu pro běh dolů Mac OS 9. x používat Carbon, protože ten operační systém už byl oficiálně vysloužilý jablkem. Toto už se stane - tam jsou četné aplikace který, zatímco psaný používat Carbon APIs, bude jen pokračovat dál OS X. příklady zahrnují iTunes 3.x a pozdnější, a Microsoft Office v.X. Protože Carbon je nižší úroveň a přístupný rozsahem programovacích jazyků, to je také bližší ve stylu k Win32 APIs Oken, a proto smět být lepší volba přenositelného vývoje.

Uhlík je často zmatený a/nebo se vyrovnal Kakau, ale dva být doplňkový a být vyřešení různých problémů. Obecně, Carbon je nižší úroveň APIs, zatímco kakao je vyšší úroveň kostra aplikace. Zatímco projekt softwaru může výhradně používat jednoho nebo jiný, v praxi to je často nutné pro užívací prvky obou. Uhlík je více všestranný v tom to může být zpřístupňoval používání C, C + +, Pascal, Ada, nebo nějaký jiný jazyk s vhodným rozhraním záhlaví, zatímco kakao výhradně používá Cíl C a Java. Přístup vyšší úrovně může být zaujatý Carbonem používáním kostra aplikace stavěla na tom, například MacApp, Metrowerks Powerplant nebo MacZoop.

Carbon architektura

Carbon APIs je organizován podél tradičních linek, v bytě (jak protilehlý k namítat orientovaný) móda. Funkčně příbuzný APIs je seskupen do manažerů. Každý manažer definuje soubory datových struktur a funkce, které manipulují s těmi. Manažeři jsou často vzájemně závislí nebo navrstvení.

Některé příklady Carbon manažerů:

Macintosh klasiky OS přijme dotazování model (a.k.a “tahový” model) pro design aplikace - to hlasování pro události, táhnout každého mimo frontu a reagovat na to, pak se vracet k čekání smyčky pro další událost. Carbon podporuje toto, pro zpětnou kompatibilitu ale dotazování model je nedostatečný, obzvláště v moderní preemptivní multitasking prostředí. Místo toho, Carbon povzbudí přijetí “tlaku” model, ve kterém aplikace spí, než událost se stane to potřebuje reagovat na, na kterém místě OS restartuje nit a aplikaci dostane událost. To pak odpoví jako dříve, a vrátí se ke spánku. Tento přístup dává větší citlivost na uživatele a povolení mnohem hladší multitasking. Přestavovat kód dědictví k použití moderní přístup je práce nemnoho minut, náležitý k chytré konstrukci Carbon událostního manažera.

Externí odkazy