Array ( [0] => 15593394 [id] => 15593394 [1] => cswiki [site] => cswiki [2] => Cocoa [uri] => Cocoa [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{Infobox - programovací jazyk [1] => | název = Cocoa [2] => | vznik = [[1986]] [3] => | vývojář = [[Apple|Apple Inc.]] [4] => | autor = NeXTSTEP [5] => | operační systém = OS X [6] => }} [7] => '''Cocoa'''[https://developer.apple.com/technologies/mac/cocoa.html] je sada [[Objektově orientované programování|objektově orientovaných]] [[framework]]ů, které zajišťují [[běhové prostředí]] pro aplikace určené pro operační systém [[OS X]] od firmy [[Apple]]. Pro [[iOS]] se používá knihovna ''Cocoa Touch'', která navíc obsahuje rozpoznání gest, animace a [[Grafické uživatelské rozhraní|grafické rozhraní]] pro iOS. K vývoji Cocoa aplikací se používá vývojové prostředí [[Xcode]] a jazyky [[Objective-C]] a nově taky [[Swift (programovací jazyk)|Swift]]. Cocoa frameworky můžeme používat i v jiných jazycích jako je [[Pascal (programovací jazyk)|Pascal]], [[Python]], [[Perl]], [[Ruby]] a to díky takzvaným mostům jako například ''PasCocoa'', ''PyObjC'', ''RubyCocoa''. [8] => [9] => == Historie == [10] => Prostředí Cocoa je dostupné již od roku 1986. Technologie, které souhrnně označujeme jako Cocoa, se postupně vyvinuly z balíčku [[NeXTSTEP]] AppKit, balíčku vývojových nástrojů vyvinutého pro platformu [[NeXT]]. Když společnost Apple v roce 1996 společnost NeXT koupila, začala vyvíjet novou verzi systému ''[[Mac OS]]'', kterou nyní známe pod názvem Mac OS X a jejíž velkou část založila právě na technologiích získaných od společnosti NeXT. Spolu s dalším vývojem systému Mac OS X se pak dále vyvíjelo i prostředí Cocoa. Společnost Apple do něj přidala technologie pocházející z klasického systému Mac OS, jako je technologie [[QuickTime]], i úplně nové technologie, jako je například technologie [[Quartz]], která umožňuje všechny možné vizuální efekty a animace. Prostředí Cocoa se neustále vyvíjí. Důvod proč se frameworky jmenují Cocoa je jednoduchý. Apple měl na název Cocoa obchodní známku, a tak po koupi společnosti NeXT, použil název Cocoa pro frameworky AppKit a Foundation. [11] => [12] => == Hlavní frameworky == [13] => Cocoa se skládá z mnoha [[framework]]ů. Nejdůležitější jsou ale tyto tří hlavní frameworky. [14] => === Foundation === [15] => Framework [[Foundation (framework)|Foundation]] je úplným základem Cocoa. Mnoho objektů, které obsahuje, je zde již od dávných dob systému NeXTSTEP. Na objektech z frameworku Foundation je založeno téměř vše ostatní. Framework Foundation prostředí Cocoa a Cocoa Touch sdílí. Základem je třída ''NSObject'', která definuje základní atributy a chovaní objektů. Dál se framework dělí na: [16] => * Value Objects, zde se nachází různé [[Datový typ|datové typy]] od [[integer]]u přes [[float]] až po datum nebo kalendář. [17] => * [[Extensible Markup Language|XML]] [18] => * Strings, zde se nachází textové řetězce. [19] => * Collections, [[Kolekce (abstraktní datový typ)|kolekce]] jsou [[objekt]]y, které uchovávají jiné objekty pro další použití. Foudations nabízí tři hlavní kolekce ''NSArray'', ''NSDictionary'' a ''NSSet''. [20] => * Predicates [21] => * Operating-System Services, zde se nacházejí třídy, které přistupují k různým částem [[operační systém|operačního systému]]. [22] => * Notifications [23] => * Archiving a serializace [24] => * Objective-C Languege Services [25] => [26] => === AppKit === [27] => [[AppKit]] je framework obsahující všechny objekty, které implementují grafické rozhraní programu jako okno, menu, tlačítko, textové pole atd. AppKit se postará o všechny detaily za vývojáře. AppKit obsahuje víc než 125 tříd a protokolů. Framework se dělí na: [28] => * User Interface, zde se nachází všechny objekty uživatelského rozhraní jako ''NSAplication'', ''NSWindow'', ''NSView'', ''NSPanel'', ''NSMenu'', ''NSBox'', ''NSScrollView'', ''NSTableView'', ''NSButton''. [29] => * Fonty (''NSText'', ''NSTextView'', ''NSTextField'', ''NSFont'') [30] => * Graphics a Color (''NSImage'', ''NSColor'') [31] => * Document Support [32] => * Printing (''NSPrinter'') [33] => * Operating System Services [34] => * International Character Input Support [35] => * Interface Builder Support [36] => [37] => === Core Data === [38] => [[Core Data framework]] je určen pro uchovávání dat a práci s nimi. Byl představen ve OS X 10.4 Tiger. Data můžeme modelovat pomocí entit a vztahů a atributů. Data ukládáme jako XML, binárně a nebo jako [[SQLite]] databáze. Technologie Core Data se sama stará o operaci Zpět/Vpřed a je integrována s technologií ''Cocoa Bindings''. [39] => == MVC == [40] => [[Model View Controller|Model-View-Controller]] je softwarová architektura, která odděluje [[datový model]], [[logika|logiku]] a uživatelské rozhraní aplikace. Cocoa je od začátku založena na modelu ''MVC''. Pro Model Cocoa využívá framework Core Data, ve kterém [[vývojář]] může modelovat data aplikace. Pro View Cocoa má framework AppKit, ten umožňuje pomocí nástroje Interface Builder navrhnout uživatelské rozhraní aplikace. Pro Controller, což je logika aplikace, využívá vlastní [[zdrojový kód]]. Nyní však už vývojář nemusí psát kód, aby napsal vlastní program a to díky technologii Cocoa Bindings. [41] => == Cocoa Bindings == [42] => Technologie ''Cocoa Bindings'' umožňuje vývojáři nakonfigurovat rámec v nástroji ''Interface Builder'' takovým způsobem, že aktualizuje svoji hodnotu a vrací provedené změny do objektu modelu více méně automaticky. Stačí, když vývojář prostřednictvím ''Interface Builderu'' sdělí, se kterým řídícím objektem má konkrétní prvek uživatelského prostředí spolupracovat a který řetězec má používat jako klíč pro získávání a nastavování hodnoty. Zjednodušeně lze říci, že pro tvorbu uživatelského prostředí nemusí vývojář napsat žádný zdrojový kód. Ovšem pozor, toto neplatí zcela. ''Cocoa Bindings'' nepokrývá veškeré možnosti, jež lze realizovat při použití zdrojového kódu jako tvůrce uživatelského prostředí aplikace. [43] => [44] => == Akce a Outlety == [45] => V Cocoa se interakce s [[Uživatelské rozhraní|uživatelským rozhraním]] navrženým v nástroji Interface Builder řeší prostřednictvím tzv. akcí a outletů. [46] => === Akce === [47] => Akce jsou metody, které lze provést jako přímý výsledek interakce s uživatelem – například stisknutí tlačítka. [48] => * ukázka akce, která po stisknutí tlačítka změní obsah textu na ''Hello World''. [49] => [50] => ==== Ukázka v jazyku [[Objective-C|Objective-c]] ==== [51] => [52] => (IBAction)buttonPressed: (id)sender{ [53] => NSString *labelText = [NSString stringWithFormat:@"Hello World"]; [54] => [self.label setStringValue:labelText];} [55] => } [56] => [57] => [58] => ==== Ukázka v jazyku [[Swift (programovací jazyk)|Swift]] ==== [59] => [60] => @IBAction func buttonPressed(sender: AnyObject) { [61] => let text="Hello World" [62] => label.text="\(text)" [63] => } [64] => [65] => [66] => === Outlety === [67] => Outlety jsou ukazatele na objekty v ''Interface Builderu'', jejíž prostřednictvím můžete k těmto objektům přistupovat ze zdrojového kódu – například měnit popisky [68] => [69] => ==== Ukázka v jazyku Objective-c ==== [70] => @property (weak) IBOutlet NSTextField *label;
[71] => @property (weak) IBOutlet NSButton *button; [72] => [73] => ==== Ukázka v jazyku Swift ==== [74] => [75] => @IBOutlet weak var label: NSLabel! [76] => @IBOutlet weak var button: NSButton! [77] => [78] => [79] => == Správa paměti == [80] => V Cocoa od začátku bylo nutné, aby si programátor sám alokoval a uvolňoval paměť. To bylo často zdrojem chyb. V dnešní době kdy už je výkon počítačů velký je k dispozici automatická [[správa paměti]]. Společnost Apple zavedla s příchodem druhé verze jejich jazyka Objective-C 2.0 v roce [[2006]] tzv. [[Garbage Collector]], který měl na starosti automatickou správu paměti. Avšak Garbage collector byl nahrazen novější správou paměti ARC (''Automatic reference counting'') ve verzi operačního systému OS X 10.8 [[Mountain Lion]] v roce [[2012]]. [81] => [82] => == Reference == [83] => [84] => == Externí odkazy == [85] => * [https://developer.apple.com/legacy/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaFundamentals.pdf Cocoa fundamentals]– případné další informace [86] => [87] => [[Kategorie:Software]] [] => )
good wiki

Cocoa

Cocoa je sada objektově orientovaných frameworků, které zajišťují běhové prostředí pro aplikace určené pro operační systém OS X od firmy Apple. Pro iOS se používá knihovna Cocoa Touch, která navíc obsahuje rozpoznání gest, animace a grafické rozhraní pro iOS.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'framework','Swift (programovací jazyk)','Objective-C','Apple','Datový typ','Quartz','Python','Perl','Ruby','NeXTSTEP','NeXT','Kolekce (abstraktní datový typ)'