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:
Software
Nastal čas na kakao - Kakao v Tygrovi
6. května 2005, 00.00 | Vzhledem k tomu, že se opona NDA konečně odhalila, můžeme si konečně říci více o tom, jaké novinky Mac OS X 10.4 – Tiger – přinesl programátorům. Vlastně se to docela dobře hodí: vzhledem k tomu, že jsme v našem seriálu, věnovaném programování ve vývojovém prostředí Cocoa, těsně před dokončením přehledu konkrétních tříd Foundation Kitu, můžeme snadno přímo vložit pár nových "tygřích" kapitol.
Vzhledem k tomu, že se opona NDA konečně odhalila, můžeme si konečně říci více o tom, jaké novinky Mac OS X 10.4 – Tiger – přinesl programátorům. Vlastně se to docela dobře hodí: vzhledem k tomu, že jsme v našem seriálu, věnovaném programování ve vývojovém prostředí Cocoa, těsně před dokončením přehledu konkrétních tříd Foundation Kitu, můžeme snadno přímo vložit pár nových "tygřích" kapitol: ty, jež se týkají přímo Foundation Kitu, se hodí skvěle, a ostatní jen malilinko odložíme, až bude celý Foundation za námi.
Dnes si jen projdeme seznam těch nejdůležitějších samostatných novinek a pro každou z nich si řekneme něco málo o tom, k čemu je dobrá a jaké přináší nové služby. Na ty nejzajímavější z nich se ovšem v dalších dílech podíváme samostatně:
- samozřejmě, že každý počítač, vybavený procesorem G5, dokáže nativně zpracovávat čtyřiašedesátibitový kód; teprve v Tigeru však je podpora v překladači C a v základních systémových knihovnách. Bohužel, Objective C ani Cocoa zatím čtyřiašedesátibitové nejsou;
- dlouhá řada nových tříd a služeb je samozřejmě součástí vlastního API Cocoa, tedy Foundation Kitu i Application Kitu: ve Foundation je například – krom jiného – nová podpora práce s kalendáři a daty; Application Kit přináší vedle dalších novinek třeba významné rozšíření třídy NSError, jež usnadňuje předávání informací o chybových stavech mezi různými vrstvami aplikace;
- kompletně nové API nabízí Automator pro tvorbu jeho akcí; na jeho základy jsme se již podívali v samostatném článku ještě před uvolněním NDA, a budeme se mu věnovat podrobněji;
- samostatný článek jsme již věnovali i technologii Core Data – snad vůbec nejdůležitější novince Tigeru. Vzhledem k tomu, že jde o velmi významný a důležitý systém, přineseme co nejdříve v samostatné sérii článků podrobný návod k programování s využitím Core Data;
- další novinkou je framework Core Image: jeho úkolem je standardizovat a usnadnit obecné zpracování grafických dat (jak statických – tedy obrázků –, tak i dynamických, tj. videa). Programátoři mohou jak vytvářet vlastní moduly pro zpracování grafiky, tak i využívat moduly existující. Pro pohodlnou aplikaci služeb Core Image na video a pro co nejlepší využití hardwarové podpory slouží další modul Core Video;
- jednou z nejčastěji diskutovaných novinek je elegantní oživení prastaré ideje "desk accessories", nazvané Dashboard. Programátoři mají k dispozici nové API, založené na kombinaci HTML/CSS/JavaScript, avšak velmi snadno rozšiřitelné s využitím plnohodnotných služeb Objective C a API Cocoa, pro tvorbu modulů Dashboard;
- mnoho programátorů ocení plně objektový PDF Kit – knihovnu služeb pro zpracování a generování dokumentů ve standardním formátu PDF;
- další novou a nesmírně silnou technologií, jež se jako novinka objevuje v Tigeru, je Quartz Composer: uživatelé se s ním setkají prostřednictvím stejnojmenné aplikace, na niž se podíváme v samostatném článku, ovšem programátoři Composer poznají také jako třídy QCView či QCPatchController, jež jeho služby velmi pohodlným způsobem zpřístupní aplikacím v Cocoa. A o co vlastně jde? Inu – podobně, jako můžeme v Automatoru sestavovat "programy bez programování" z jeho akcí, umožňuje Composer sestavovat grafické programy, zpracování obrázků, generované videoklipy a presentace vzdáleně obdobným způsobem na základě vlastních grafických primitiv (nazývaných 'patche');
- programátoři v Cocoa jistě uvítají také QuickTime Kit, který nabízí pohodlné a efektivní plně objektové rozhraní pro využití bohatých multimediálních služeb QuickTime – jeho dosavadní API, založené na jazyku C, bylo krajně nepohodlné a komplikované;
- spolu s technologií Dashboard se nejčastěji objevovaly předběžné informace o vyhledávacím systému Spotlight, založeném na databázi metadat, úzce integrované do samotného systému souborů Mac OS X. Programátory bude zajímat hlavně to, jak opatřovat vlastní datové soubory vhodnými metadaty, případně jak vytvářet filtry, jež metadata získají z jejich vlastních či 3rd party datových formátů;
- další skupinu nových služeb programátorům přinášejí Sync Services, jež umožňují programově synchronizovat jak obsah standardních systémových databází (jako jsou kalendáře iCalu či seznam kontaktů, spravovaný aplikací Address Book) i vlastní proprietární data;
Řada novinek – ať jde o projektové vzory nových API jako je Dashboard či Automator, nebo zásadní rozšíření, jako třeba možnost tvorby a editace datových modelů pro technologii Core Data – je přímo integrována do nové verse integrovaného vývojového prostředí Xcode 2.0, jež je standardní součástí Tigeru; i na ty nejvýznamnější z jeho služeb se samozřejmě podíváme blíž.
Obsah seriálu (více o seriálu):
- Nastal čas na kakao...
- Tak nejdřív kakao ochutnáme...
- Programovací jazyk C: velmi, velmi stručně
- Objective C: to si vysvětlíme podrobněji
- Co jsme si o Objective C ještě neřekli...
- Nastal čas na kakao - Vznik a zánik objektů
- Nastal čas na kakao - Kopírování objektů
- Nastal čas na kakao - Skryté podtřídy
- Nastal čas na kakao - Základní služby objektů
- Nastal čas na kakao - Jak správně psát v Objective C
- Nastal čas na kakao - Jak správně importovat
- Nastal čas na kakao - Podtřídy, delegáti, vkládání, jak se to rýmuje?
- Nastal čas na kakao - Využití kategorií namísto dědičnosti
- Nastal čas na kakao - Vkládání objektů a přesměrování zpráv
- Nastal čas na kakao - Inicializace a rušení objektů
- Nastal čas na kakao - Metody initWith... a designovaný inicializátor
- Nastal čas na kakao - Inicializace: tipy a triky
- Nastal čas na kakao - Accesory: přístup k proměnným instancí
- Nastal čas na kakao - Šedá je teorie, zelený je strom života...
- Nastal čas na kakao - Více o XCode: inspektory
- Nastal čas na kakao - Aplikace RSS2: datový model
- Nastal čas na kakao - Aplikace RSS: implementace datového modelu
- Nastal čas na kakao - Aplikace RSS: parsování XML
- Nastal čas na kakao - Interface Builder a uživatelské rozhraní
- Nastal čas na kakao - Interface Builder: atributy objektů
- Nastal čas na kakao - Interface Builder: atributy objektů
- Nastal čas na kakao - Druhý kontrolér a dokončení aplikace
- Nastal čas na kakao - Drobná vylepšení a zdokonalení...
- Nastal čas na kakao - Ladění
- Nastal čas na kakao - Třídy Foundation Kitu
- Nastal čas na kakao - Třídy Foundation Kitu (2)
- Nastal čas na kakao - Textové řetězce: NS(Mutable)String
- Nastal čas na kakao - Čísla, binární data a další...
- Nastal čas na kakao - Archivace objektů
- Nastal čas na kakao - Trocha magie, aneb distribuované objekty
- Nastal čas na kakao - Málem bychom zapomněli: NSAutoreleasePool
- Nastal čas na kakao - Zpracování výjimek: NSException
- Nastal čas na kakao - NSInvocation a černá magie
- Nastal čas na kakao - Kakao v Tygrovi
- Nastal čas na kakao - Notifikace: nepřímé předávání zpráv
- Nastal čas na kakao - NSUserDefaults
- Nastal čas na kakao - Co nového ve Foundation Kitu
- Nastal čas na kakao – s Intelem, s Intelem, jedeme do...
- Co nového v Xcode
- Začínáme s AppKitem
- Jak MVC v Kakau vypadá doopravdy?
- Jak MVC v Kakau vypadá doopravdy: dokončení
- Přehled tříd AppKitu
- Nastal čas na kakao - Přehled tříd AppKitu 2
- Přehled tříd AppKitu 3: zbývající třídy GUI
- Přehled tříd AppKitu 4: textový systém
- Nastal čas na kakao - Přehled tříd AppKitu 5: hlavně grafika
- Přehled tříd AppKitu 6: dokumentový systém
- Přehled tříd AppKitu 7: dokončení
- Pojmenované vlastnosti objektů
- Pojmenované vlastnosti objektů: implementace
- Pojmenované vlastnosti objektů: relace 1:N
- Pojmenované vlastnosti objektů: řazení jmen a agregační funkce
- Sledování změn objektů
- Sledování změn objektů – ukázka
- Sledování změn objektů – zdrojový kód
- Sledování změn objektů: kód modelu
- Sledování změn objektů: přímý přístup
- Kontroléry a vazby
- Vázání vazeb
- Další vazby s jednoduchým kontrolérem
- Implementace a použití převodu hodnot
- Validace hodnot
- Validace a chyby, a jedna hezká vazba...
- Práce s polem objektů
- Základní vazby NSArrayControlleru
- Převodníky, přepínače, placeholdery
- Mírná vylepšení v mezích zákona
- Objective C 2.0 - novinky z Leoparda
- NSTreeController
- Programování v Cocoa - Pár tipů a triků
- Programování v Cocoa - Základy kreslení
- Kterak nakreslit modrý obdélník...
- Další služby pro kreslení
- Obrázky a písmenka...
- Události a myš
- Lepší práce s myší
- Události klávesnice
- Input Management
- Příkazy a schránka
- Další události
- Táhni a padni
- Byli jsme na tahu; nyní padneme.
- Zvolme si, jak vhodit
- Drobnosti a chybičky
- Speciální případy tahání či házení
- Kterak táhnout něco, co neexistuje?
- Jak na sítě...
- NSURLConnection
- Safari za minutu
- Služby WebKitu
- Kakao v Leopardu
- Druhé Objective C
- Druhé Objective C: různé drobnosti
- Druhé Objective C: kategorie a protokoly
- Druhé Objective C: nový příkaz cyklu
- Druhé Objective C: atributy a accesory
- Druhé Objective C: atributy a accesory
- 64 je dvakrát 32
- Ubicumque dulce est, ibi et acidum invenies...
- Irbis: že prý žádné novinky?
- Blok sem, blok tam, nám už je to všechno jasné...
- Bloky jsou i v AppKitu
- Irbis a Foundation Kit
- Kde jsou má data?
- Kde jsou má data? V NSCache!
- Soubor, jméno, URL, jak se to rýmuje...
- Další podpora NSURL
- Zabíjení!
- A máme tady i...OS!
- Systémové prvky GUI
- Programování pro iOS 1. díl - Rozdíly mezi "i" a "Mac"
- Programování pro iOS - 2. Začínáme programovat
- Programování pro iOS - 3. základní ovladače a propojení GUI s kódem
- Programování pro iOS - 4. Varovná hlášení
- Programování pro iOS - 5. Rámce a jejich řídicí objekty
- Programování pro iOS - 6. Ukládání dat
- Programování pro iOS - 7. Správa paměti a starý restík
- Programování pro iOS - 8. Dokončení aplikace
- Programování pro iOS - 9. Jak dostat aplikaci do iPhone
- Programování pro iOS - 10. Instalace aplikace do cizího iPhone
- Programování pro iOS - 11. Jak dostat aplikaci do libovolného iPhone
- Programování pro iOS - 12. Touching!
- Programování pro iOS - 13. Kreslíme na iPhone
- Programování pro iOS - 14. Udělejme gesto
- Programování pro iOS - 15. Další gesta
- Programování pro iOS - 16. Více prstů, více zábavy
- Programování pro iOS - 17. Podpora standardních gest
- Programování pro iOS - 18. Recognizery v iOS
- Programování pro iOS - 19. Další standardní recognizery
- Programování pro iOS - 20. Co nového v iOSu
- Programování pro iOS - 21. "Multitasking"
- Programování pro iOS - 22. Nulla est honesta avaritia nisi temporis
- Programování pro iOS - 23. Jak se aktivovat, jsme-li v pozadí
- Programování pro iOS - 24. Zbývající drobnosti
- Programování pro iOS - 25. Řídicí objekty rámců
- Programování pro iOS - 26. Jak se dělá UIViewController
- Programování pro iOS - 27. Kde vzít rámce
- Programování pro iOS - 28. Základní služby
- Programování pro iOS - 29. Práce s rámci
- Programování pro iOS - 30. Rotace zařízení
- Programování pro iOS - 31. Správa paměti v rámcích
- Programování pro iOS - 32. Řídicí objekt pro tabulky
- Programování pro iOS - 33. Řídicí objekt pro strom
- Programování pro iOS - 33. Více o UINavigationControlleru
- Programování pro iOS - 35. Ještě jednou UINavigationController
- Programování pro iOS - 36. Po navigátoru taby
- Programování pro iOS - 37. Více o UITabBarControlleru
- Programování pro iOS - 38. Dokončení UITabBarControlleru
- Programování pro iOS - 39. UIPopoverController
- Programování pro iOS - 40. Další triky UIPopoverControlleru
- Programování pro iOS - 41. Zbývající služby UIPopoverControlleru
- Programování pro iOS - 42. UISplitViewController
- Programujeme v
iTunesXcode 4 - Programování pro iOS - 44. Předvolby Xcode 4
- Programování pro iOS - 45. Práce v Xcode 4
- Xcode 4: projekt a cíle
- Xcode 4: práce s cíli
- Xcode 4: Build Settings
- Xcode 4: Build Phases
- Xcode4: Build Phases podruhé
- Xcode 4: Co jsou to Build Rules?
- Xcode4: taje editoru
- Xcode4: automatické doplňování v editoru
- XIBy chyby
- Více o XIBech
- Editor XIBů
- Inspektory pro XIBy
- Vazby mezi objekty v XIBech
- Vazby mezi objekty v kódu
- Paletky Xcode pro XIBy
- Xcode 4: levý sloupec
- Xcode 4: okno Organizer
- Xcode 4: okno Organizer, část druhá
- Xcode 4: co je to Workspace?
- Xcode 4: základy schémat
- Xcode 4: akční schémata