Cocoa je vývojové API nativní pro operační systém Mac OS X. Cocoa Touch je úzce související analogická platforma pro iOS. Je napsán v Objective-C a funguje jako druh „horní vrstvy“ pro každý operační systém.
kakao lze považovat za aplikační platformu nebo rámec pro vývoj aplikací, ale je integrovanější do operačního systému, než by kterýkoli z nich byl v prostředí Linuxu nebo Windows.
tato těsná integrace mezi API, operačním systémem a (samozřejmě) vlastním hardwarem společnosti Apple má poskytnout bezproblémové vývojové prostředí a vynucovat“ způsob Apple “ dělat věci.
- historie kakaa
- co dělá kakao?
- Cocoa jako standardní knihovna
- kakao jako rozhraní UI/UX
- Cocoa jako rozhraní operačního systému
- Cocoa jako architekt
- Kakaový Zdrojů
- Online
- Návody
- Nástroje
- komunita a další učení
- Knihy
- ostatní zdroje pro vývoj OS X a iOS
- Xcode
- Objective-C
- Swift
- Obecné zdroje pro vývoj Apple
- Sečteno a podtrženo…
historie kakaa
kakao začíná doslova C.
na začátku roku 1980, pár vývojářů jménem Brad Cox a Tom Love snažili přidat Objekt Orientace na programovací jazyk C, který nepodporuje OOP v té době.
jejich řešením bylo vytvořit pre-procesor, který by vykreslil C kód s některými Smalltalk-jako dodatky do prostého kompilačního C kódu. (Smalltalk byl raný objektově orientovaný jazyk.)
Tento preprocesor se rychle vyvinul v plnohodnotné jazykové rozšíření a stal se známým jako Objective-C. Další software, který založil Steve Jobs poté, co byl vyhozen ze společnosti Apple v roce 1985, licenci Objective-C od jeho tvůrců a používá to jako základ pro několik rozvojových rámců.
Tyto tvořil NeXTSTEP a OpenStep aplikačních platforem, které Příští prodal přes 80. a 90. let.
Apple získal Další v roce 1996, a Steve Jobs se vrátil jako generální ŘEDITEL. Rámce NeXTSTEP se dostaly do operačního systému Mac.
Apple již ochrannou známkou název kakao, pro samostatný projekt, který byl ukončen. Aby bylo možné rychle umístit ochrannou známku na novější verzi rámců společnosti Apple, nazvali ji Cocoa.
Cocoa je součástí všech operačních systémů Apple od konce 1990 a od té doby se vyvíjí spolu s operačním systémem a novými platformami zařízení.
co dělá kakao?
Kakaa dělá spoustu věcí, ale obecně vzato tyto spadají do čtyř kategorií:
-
Chovat jako rozšířené standardní knihovna pro Objective-C, poskytuje podporu pro bohatší objekty a vlastnosti moderní výpočetní technika, jazyky, které nejsou přítomny v designu Objective-C.
-
poskytuje jednotné uživatelské rozhraní a uživatelské prostředí.
-
umožňuje aplikaci přístup k dalším aplikacím, službám a funkcím zařízení.
-
podpora konkrétních architektonických a datových vzorů.
tyto široké cíle návrhu jsou implementovány v několika “ rámcích.“Tento termín může být trochu matoucí. V současné řeči, kakao je spíše jako jediný rámec, s několika moduly nebo knihovnami. Apple však každou z těchto knihoven nazývá „rámcem“.“
pojďme prozkoumat každý z těchto funkčních cílů trochu a jak je různé kakaové rámce dosahují.
Cocoa jako standardní knihovna
Objective-C má standardní knihovnu. V prostředí Cocoa jsou standardní knihovna a runtime skutečně poskytovány Cocoa. Sadu rozšířených jazykových funkcí navíc poskytuje Nadační sada, která v praxi funguje jako de facto standardní knihovna.
To poskytuje pokročilejší jazykové funkce, než by normálně byly k dispozici v Objective-C. To zahrnuje širokou škálu základních tříd pro běžně používané typy objektů — čísla, data, řetězce, adresy Url, regulární výrazy, a chybové zprávy.
tento rámec Foundation Kit je nezbytný v aplikacích napsaných v Objective-C. vývoj aplikací na platformách Apple se však vzdaluje od Objective-C, protože Apple propaguje svůj novější vývojový jazyk Swift.
Swift nativně poskytuje mnoho moderních jazykových funkcí přidaných Foundation Kit a není jasné, jakou roli bude nadace a Objective-C hrát v budoucnosti zaměřené na Swift.
kakao jako rozhraní UI/UX
tento aspekt kakaa je pro vývojáře aplikací možná nejdůležitější.
ve verzi Cocoa OS X je rozhraní user experience API poskytováno frameworkem s názvem AppKit. V Cocoa Touch pro iOS se tomu říká UIKit.
v obou případech poskytují grafické prvky, Ovládací prvky uživatelského rozhraní, správu oken a panelů, vícedotyková rozhraní a všechny další podrobnosti interakce mezi uživatelem a systémem.
Použití AppKit a UIKit je to, co dělá aplikace vypadat a cítit nativní Apple systému, a reagovat na vstupy (gesta, kliknutí, pohyb) „správný“ způsob.
velký rozdíl mezi Cocoa a Cocoa Touch je rozdíl mezi AppKit a UIKit. Stejně jako Apple pracoval na sjednocení uživatelského prostředí napříč platformami, stále komunikujete s iPhone jinak než se stolním Macem.
kromě mírně odlišných prvků GUI obsahuje UIKit podporu pro věci, jako je směr kompasu, GPS, akcelerometr (pohyb zařízení) a dotyková obrazovka.
Cocoa jako rozhraní operačního systému
aplikace Apple také musí být schopny komunikovat s jinými aplikacemi a službami operačního systému.
Pokud chcete mít možnost kliknout na telefonní číslo ve své chatovací aplikaci a nechat zahájit telefonní hovor, aplikace musí být schopny spolu mluvit.
Pokud chcete, aby aplikace pro úpravu hudby mohla zachytit zvuk z mikrofonu a přehrávat do reproduktorů, aplikace musí být schopny komunikovat se službami operačního systému.
Cocoa poskytuje celý dlouhý seznam rámců, které poskytují přístup k aplikacím a službám. To umožňují aplikacím nejen samostatné spustitelné soubory, ale také existovat a fungovat v integrovaném ekosystému.
Cocoa jako architekt
Cocoa podporuje dva důležité architektonické vzory, jeden v rámci aplikace a jeden v tom, jak aplikace komunikuje mimo sebe.
Cocoa je napsán s ohledem na architektonické paradigma Model-View-Controller a podporuje vývoj MVC na všech úrovních.
zobrazení je implementováno pomocí frameworků AppKit nebo UIKit. Řídicí moduly jsou podporovány prostřednictvím rodiny tříd zabudovaných do základové sady. Modely a jejich požadované připojení k vrstvě perzistence dat jsou zpracovány jiným rámcem zvaným Core Data.
tento návrh podporuje (někdo by mohl říci, že vynucuje) architekturu Model-View-Controller v aplikacích iOS a OS X.
mezi různými aplikacemi a také mezi aplikacemi a službami zprostředkovávají různé rámce interakci v podstatě orientovaným na služby. Díky tomu je snazší a bezpečnější integrovat aplikace mezi sebou a podporovat robustní a odolný ekosystém aplikací.
Kakaový Zdrojů
Online
Návody
-
Základní Koncepty Programování na Kakao a kakaové Touch
-
Úvod do Kódování Pokyny pro Kakao.
-
Kakaový Dev Centrální
-
Programování v systému Mac OS X s Kakaem pro Začátečníky.
Nástroje
-
Kakaový Ovládání: open source komponent uživatelského ROZHRANÍ pro iOS a OS X.
-
Kakaové Lusky: balíček manažer pro Kakao projektů.
komunita a další učení
-
CocoaHeads: celosvětová síť místních setkání a diskusních skupin věnovaných vývoji kakaa a kakaa.
-
Cocoa Subreddit.
Knihy
-
rychlý Rozvoj s Kakaem: Vývoj pro Mac a iOS App Obchodech
-
Cocoa Programming for OS X: Big Nerd Ranch Guide
-
Učení Kakao s Objective-C,
-
Ry Kakaa Tutorial
-
Kakao (Developer Reference)
-
Kakaový Návrhové Vzory.
ostatní zdroje pro vývoj OS X a iOS
nemůžete používat Cocoa nebo Cocoa Touch ve vakuu. Jedná se o součást většího vývojového prostředí aplikací Apple, které zahrnuje Xcode, Objective-C a Swift. Tyto různé nástroje a technologie spolupracují na vytvoření vývojového ekosystému.
Xcode
Xcode je požadované integrované vývojové prostředí (IDE)pro vytváření aplikací OS X a iOS. Je úzce integrován s Swift, Cocoa, Apple App store a větším ekosystémem Apple.
není mnoho tutoriálů o Xcode konkrétně, jako je pokryta v každé obecné Apple rozvoje zdrojů. Jeden skvělý zdroj, ačkoli, je to Xcode Tutorial, který je pravidelně aktualizován jako nové verze Xcode vyjít.
Objective-C
-
O Objective-C: úvodní tutoriál od Apple Developer center
-
Objective-C Programování,
-
Objective-C Programování: Big Nerd Ranch Guide.
máme také úplnější seznam zdrojů Objective-C.
Swift
-
programovací jazyk Swift: oficiální průvodce Apple
-
Swift programování: průvodce Big Nerd Ranch: definitivní kniha na toto téma.
máme také důkladný seznam zdrojů Swift.
Obecné zdroje pro vývoj Apple
první místo pro informace a zdroje o vývoji pro platformy Apple je web pro vývojáře Apple.
mnoho z nejlepších knih o vývoji Mac a iOS pochází z Big Nerd Ranch. Jejich knihy o konkrétních tématech jsou zmíněny výše a měli byste se také podívat na jejich knihy o pokročilém programování Mac OS X a programování iOS.
Další dobré obecné zdroje:
-
Ray Wenderlich Návody: jeden z relativně mála služeb, která jde zpět a aktualizace staré návody, když Apple aktualizace platformy.
-
programovací kanál Apple na YouTube: není oficiální, ale velmi užitečné.
-
WeHeartSwift: nominálně o Swift, ale tento web pokrývá všechny aspekty vývoje OS X a iOS.
-
NSHipster: populární blog o vývoji Mac a iOS, se spoustou tutoriálů o “ přehlížených bitech v Objective-C,Swift a Cocoa.“Jsou také velmi názorní ve svém pokrytí, což je pravděpodobně síla.
-
ObjC.io: Knihy a články o pokročilých technikách a postupech pro vývoj iOS a OS X.
Sečteno a podtrženo…
Cocoa a Cocoa Touch jsou základy nativního vývoje aplikací pro Mac a iOS.
pro iOS existují i jiné způsoby, jak vytvářet nepůvodní mobilní aplikace s HTML5 a JS,ale to ne vždy jde tak dobře, jak se očekávalo — opravdu.
Pokud chcete vytvořit další velkou aplikaci pro iPhone nebo vytvořit aplikace pro Mac, které se dobře integrují s OS X a odpovídají očekáváním uživatelů, musíte opravdu kopat do Cocoa a Cocoa Touch. Pro nativní vývoj aplikací, tam opravdu nejsou žádné náhražky.