Co nového v Xcode - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Seriály

Více seriálů



Software

Co nového v Xcode

2. srpna 2005, 00.00 | Po rychlém odskoku k velmi aktuálnímu Intelu se ještě podíváme na další – mírně – aktuální záležitost: ukážeme si několik zajímavějších novinek vývojového prostředí Xcode 2.

Po rychlém odskoku k velmi aktuálnímu Intelu se ještě podíváme na další – mírně – aktuální záležitost: ukážeme si několik zajímavějších novinek vývojového prostředí Xcode 2.

Modelování

Asi nejvýraznější novinkou pro všechny příznivce grafických prostředků jsou služby zobrazování a (do jisté míry) tvorby modelů – grafické representace odpovídajících dat. Xcode v současné versi 2.0 (respektive 2.1 – zde nejsou rozdíly, jež by byly na této úrovni podstatné) podporuje dva modely; model tříd a datový model. Ačkoli oba vypadají dosti podobně, jsou mezi nimi i zásadní a hluboké rozdíly.

Datový model

Datový model je víceméně nezávislý na zdrojovém kódu Objective C. Popisuje strukturu dat, s nimiž aplikace pracuje, na základě standardního E/R (entity/relationship) modelování, jež důvěrně znají ti, kdo pracují s databázemi: datové objekty jsou popsány jako "entity" – prvky, jež mají definované skupiny atributů –, a vztahy mezi nimi jako relace.

V objektovém prostředí pak konkrétní entity mohou, ale také nemusejí, odpovídat třídám a jejich instancím; k hodnotám atributů i relací pak můžeme přistupovat pomocí zcela standardního mechanismu zpráv.

Podstatným rysem datového modelu je to, že representuje v podstatě samostatný zdrojový kód ve speciálním jazyce: pokud bychom jej smazali, aplikace by přestala fungovat. To proto, že za běhu jsou datové objekty generovány právě na základě modelu, a požadavky na práci s nimi – např. sestavení relace mezi dvěma z nich – se také interpretují tak, aby to struktuře modelu odpovídalo. Datový model tak je nutnou součástí projektu (který nepoužívá jiný mechanismus než CoreData), a vlastně nahrazuje zdrojový kód tříd, jež by datový model representovaly kdybychom v Cocoa systém CoreData neměli k dispozici.

Dnes se podrobněji datovým modelem zabývat nebudeme; vrátíme se k němu však v mnohem větších detailech, až se budeme zabývat programováním s využitím systému Core Data, jenž je právě na datových modelech založen.

Model tříd

Ačkoli model tříd vypadá na první pohled velmi podobně jako datový model, jeho postavení v projektu je zásadně odlišné: jak jsme si řekli v minulém odstavci, datový model je zásadní a funkční součástí projektu. Model tříd je naproti tomu "pouze" součástí dokumentace: projekt s ním i bez něj funguje stejně dobře, datový model je v zásadě pouze visualizace vzájemných vztahů mezi jednotlivými třídami.

Ukažme si příklad malé části takového modelu tříd (jedná se náhodou o model javských tříd z internetové aplikace psané v prostředí WebObjects; to je ovšem z hlediska datového modelu lhostejné – datový modelář Xcode dokáže s třídami Javy pracovat stejně dobře, jako s třídami Objective C):

Dokumentace

Další významnou novinkou Xcode 2 je dokumentace: nejenže je struktura dokumentace přepracována a lépe nyní odpovídá dokumentaci, jež je uložena na webu Apple; navíc Xcode automaticky sleduje, zda je dokumentace aktuální, a není-li tomu tak, vybídne uživatele k downloadu novější verse.

Vylepšení GUI

Nové Xcode přináší také řadu drobných, ale příjemných vylepšení grafického uživatelského rozhraní: příkazy v nabídkách jsou přehledněji strukturované a je jich k dispozici více pro lepší flexibilitu; systém automatického doplňování identifikátorů také nabízí více možností a funguje lépe než dříve (dokonce – ačkoli tomu tak není defaultně a musíme Xcode mírně přizpůsobit – je k dispozici automatické doplňování i pro WebObjects; v tomto článku není místo na detailní popis, ale koho to zajímá, nalezne podrobné instrukce (zahrnující i podporu indexování vlastních frameworků) ve standardním dokumentu "/Developer/Extras/Xcode Index Templates/Index Templates ReadMe.rtf".

Za samostatnou zmínku snad ještě stojí nové ikonky pro smazání výpisů běžících programů (to je velmi příjemné, alespoň pro mne bylo vždy hledání příkazu v nabídce nepohodlné, a to i přesto, že mám díky OCSmart Hacks nabídku k dispozici kdykoli a kdekoli), a určitě také tzv. "favorites bar" – zapneme-li jeho zobrazení příkazem "Show Favorites Bar" z nabídky "View", získáme malou odkládací plochu pro soubory, jež chceme mít k dispozici rychle a pohodlně na jediné klepnutí myší kdykoli při práci s projektem:

Novinky pod kapotou

I zde je samozřejmě novinek a vylepšení celá řada; nejvýznamnější však bezpochyby je nová verse překladače GNU C 4, podporující "fat binaries" s čtyřiašedesátibitovou architekturou a (ve versi 2.1) také architekturou Intel x86.

Ladění

Vylepšené jsou i možnosti grafického uživatelského rozhraní, jež slouží pro ladění: ačkoli ladicí systém gdb samozřejmě "odjakživa" podporoval takové věci, jako jsou breakpointy s podmínkou či s volitelnou sadou příkazů, jež se provedou při dosažení breakpointu, dosud bylo nutné využít příkazový řádek v konsole; nyní (ve versi 2.1) jsou tyto služby k dispozici i prostřednictvím GUI.

Z grafického uživatelského rozhraní jsou nyní dosažitelné i "watchpointy" – z kontextové nabídky nad proměnnými lze zvolit příkaz "Watch Variable", a ladicí systém automaticky vyvolá přerušení běhu programu kdykoli se hodnota dané proměnné změní.

Je dokonce možné si vyžádat vizualizaci běhu programu v modelu tříd (viz odpovídající odstavec výše)... snad to někdy někomu k něčemu může být dobré, jakkoli, upřímně řečeno, osobně si to neumím představit :)

Nová struktura souboru s projektem

Soubor, jenž representuje vlastní projekt, byl zásadně přepracován. To přináší jednu nepříjemnost – soubory Xcode 2.1 s příponou "xcodeproj" nejsou zpětně kompatibilní se staršími soubory s příponou "xcode" (nebo "pbproj"). Samozřejmě, že lze importovat starší projekty; není však k dispozici opačný směr – změníme-li tedy projekt v Xcode 2.1, změny nemůžeme snadno přenést zpět do Xcode 2.0 či staršího.

Odměnou za toto nepohodlí může být mnohem přehlednější a hlavně "mergovatelnější" formát – otevřeme-li nyní soubor "project.pbxproj" uvnitř složky ".xcodeproj" v textovém editoru, uvidíme, že jeho obsah je poměrně snadno srozumitelný, a že je dokonce pro lepší přehlednost opatřen komentáři.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: