Zpět Obsah Další

Což takhle trochu kakaa?


V tomto textu se postupně naučíme programovat v prostředí Cocoa. Dnes prostředí Cocoa patří firmě Apple; vzniklo však v rámci firmy NeXT a jejího operačního systému NeXTStep. Právě luxus a flexibilita tohoto vývojového prostředí byly patrně rozhodujícím faktorem, který Apple před třemi roky přiměl za bezmála půl miliardy dolarů firmu NeXT koupit.

Jestliže Cocoa patří Apple, je zřejmé, že jeho přirozeným životním prostředím jsou počítače Macintosh. Ani ostatní platformy však nepřicházejí úplně zkrátka: pro uživatele Linuxu a ostatních prostředí je nadějí projekt GNUStep, jehož cílem je uvolnit kompletní prostředí odpovídající "kakau" v rámci GNU licence. Konečně, pořád existuje naděje, že firma Apple se rozhodne využít bezproblémovou portabilitu prostředí, a bude nabízet svůj Mac OS X i pro jiné platformy: kód pro počítače Sun SPARC, Hewlett-Packard PA-RISC a IBM PC kompatibilní má k dispozici, stačilo by jej trochu oprášit...

Copak je to za novinky...

Je vhodné si uvědomit, že ačkoli technologicky je patrně Cocoa nejmodernější z dnes užívaných vývojových prostředí, novinkou v pravém smyslu slova není: vzniklo totiž jako vývojové prostředí NeXTStepu před patnácti lety. To je jeho nesmírná výhoda, protože díky tomu již jsou jeho dětské chyby dávno vychytány; navíc existuje po celém světě široká základna programátorů, kteří již s Cocoa — přesně řečeno s něčím velmi, velmi podobným — mají rozsáhlé zkušenosti.

Tehdy ovšem nikdo o kakau ještě nemluvil: vývojové prostředí NeXTStepu se nazývalo OpenStep. Firma Apple jej nejprve z nepříliš jasných důvodů přejmenovala na "Yellow Box", a teprve poměrně nedávno mu přidělila jméno Cocoa: je v tom vidět další hříčka na téma Java, a navíc Cocoa hezky aliteruje s alternativními prostředími, které Apple nabízí pro zachování kompatibility se starými versemi Mac OS, a jež se jmenují Classic a Carbon.

Co nenajdete ve výloze, hledejte uvnitř!

Každé vývojové prostředí se skládá v zásadě z knihoven služeb, jež mohou aplikace, které v něm vytváříme, využívat, a ze skupiny prostředků, jež nám v tom pomáhají: překladače programovacích jazyků, editory zdrojových textů, debuggery, generátory obrazovek a podobně. V tomto odstavci si zběžně ukážeme, jak na tom v tomto směru je Cocoa.

Kolik řečí znáš...

Dnes je většina vývojových prostředí postavena kolem některého konkrétního programovacího jazyka. Ne tak ovšem Cocoa: od samého začátku je toto prostředí navrženo pro možnost práce s víceméně libovolným jazykem, a v současnosti je jeho standardní součástí jazyků ne méně než čtyři:

Za zmínku stojí samozřejmost, jež v jiných prostředích zdaleka není samozřejmá: v Cocoa můžeme bez nejmenších problémů v rámci jediné aplikace jazyky libovolně míchat; jediné omezení je, že více různých jazyků nesmíme používat v jednom zdrojovém souboru. Není však naprosto žádný problém, aby třeba každý zdrojový soubor v jediném projektu byl napsán v jiném jazyce! Cocoa navíc obsahuje promyšlenou sadu služeb, jež umožňuje plnou vzájemnou kompatibilitu mezi objekty Objective C a Javy.

Knihovny služeb

Mezi rysy, jež dávají prostředí Cocoa jeho výjimečné postavení, bezpochyby patří i nesmírně luxusní knihovny služeb. S těmi se v průběhu našeho seriálu samozřejmě seznámíme podrobněji; zde si prozatím jen v rychlosti projdeme čtyři základní skupiny knihoven, jež Cocoa nabízí — jejich přehled vidíme na následujícím obrázku:

Struktura základních knihoven

Samozřejmě, že Cocoa obsahuje řadu dalších knihoven; ty jsou však relativně podružné. My se v tomto seriálu soustředíme na základní služby čtyř výše popsaných knihoven Foundation a AppKit.

Za zmínku stojí ještě to, jak jsou knihovny v prostředí Cocoa representovány: na rozdíl od většiny ostatních systémů se zde nejedná o "nějakou DLLku", ale o propracovaný mechanismus, nazývaný framework. Součástí frameworku jsou kromě vlastních knihoven také podpůrné soubory, hlavičkové soubory pro překladač, dokumentace a podobně; tak je všechno na jednom místě a nemůže dojít ke zmatkům. Frameworky navíc využívají propracovaný systém versí, a v případě zásadních změn je možné v jediném frameworku uložit i starší verse knihoven, aby starší aplikace nadále bez problémů pracovaly. Klasický windowsovský zmatek "tahle DLL je moc stará, a támhleta zase moc nová, takže aplikace nefunguje" tak nepřipadá v úvahu.

Aplikace a pomocné prostředky

Samotné skvělé knihovny a překladače nestačí: je třeba mít k dispozici přinejmenším dobrý editor zdrojového kódu, a debugger. Nadto právě Cocoa ukazuje, jak obrovským usnadněním práce může být visuální programování, když se udělá pořádně: v dlouhodobém průměru trvá tvorba stejné aplikace v prostředí Cocoa zhruba desetinu času oproti jiným prostředím! To je právě díky systému, který se dodnes — a dodnes marně! — snaží okoukat systémy typu Delphi nebo Visual C++.

Ovšemže i podpůrných prostředků je v systému Cocoa mnohem víc: máme zde k dispozici např. luxusní profiler pro vyhledávání "bottlenecků" v pomalých aplikacích, nebo třeba aplikace pro vyhledávání a odstraňování alokované nevyužité paměti. Podobně jako u knihoven, v našem seriálu se soustředíme jen na ty základní.

Chcete-li vidět ukázku programování v Cocoa, podívejte se na příští stránku.
Zpět Obsah Další

Copyright © Chip, O. Čada 2000-2003