Maybaygiare.org

Blog Network

Cocoa and Cocoa Touch: Hogyan kezdjünk hozzá a Mac és iOS Alkalmazások építéséhez

közzététel: A támogatás segít a webhely működésének fenntartásában! Az ezen az oldalon ajánlott egyes szolgáltatásokért ajánlási díjat kapunk. Tudjon meg többet

A Cocoa a Mac OS X operációs rendszerben őshonos fejlesztési API. A Cocoa Touch az iOS szorosan kapcsolódó analóg platformja. Objective-C-ben van írva, és egyfajta “felső rétegként” működik az egyes operációs rendszerekhez.

A Cocoa felfogható alkalmazásplatformnak vagy alkalmazásfejlesztési keretrendszernek, de jobban integrálódik az operációs rendszerbe, mint bármelyik Linux vagy Windows környezetben.

az API, az operációs rendszer és (természetesen) az Apple saját hardvere közötti szoros integráció célja, hogy zökkenőmentes fejlesztői környezetet biztosítson és érvényesítse a dolgok “Apple módját”.

A kakaó története

a kakaó C-vel kezdődik.

Az 1980-as évek elején egy pár Fejlesztő, Brad Cox és Tom Love arra törekedett, hogy Objektumorientációt adjon a C programozási nyelvhez, amely akkoriban nem támogatta az OOP-t.

megoldásuk egy olyan előprocesszor létrehozása volt, amely a C kódot néhány Smalltalk-szerű kiegészítéssel egyszerű fordítható C kódgá teszi. (A Smalltalk egy korai objektumorientált nyelv volt.)

Ez az előfeldolgozó gyorsan egy teljes nyelvi kiterjesztéssé fejlődött, és Objective-C néven vált ismertté. A Next software, amelyet Steve Jobs alapított, miután 1985-ben kirúgták az Apple-től, licencelte az Objective-C-t az alkotóitól, és számos fejlesztési keret alapjául használta.

ezek alkották a NeXTSTEP és az OpenStep alkalmazásplatformokat, amelyeket a 80-as és 90-es években értékesítettek.

Az Apple 1996-ban felvásárolta a NeXT-et, és Steve Jobs visszatért vezérigazgatóként. A NeXTSTEP keretrendszerek bejutottak a Mac operációs rendszerbe.

Az Apple már védjeggyel látta el a Cocoa nevet, egy külön projekthez, amelyet megszüntettek. Annak érdekében, hogy gyorsan védjeggyel ellátott márkanevet helyezzenek az Apple keretrendszerének újabb verziójára, kakaónak hívták.

A Cocoa az 1990-es évek vége óta az Apple összes operációs rendszerének része, és azóta az operációs rendszerrel és az új eszközplatformokkal együtt fejlődött.

mit csinál a kakaó?

A Cocoa sok mindent csinál, de általánosságban ezek négy kategóriába sorolhatók:

  • az Objective-C kibővített standard könyvtáraként működik, amely támogatja a gazdagabb objektumokat és a modern számítástechnikai nyelvek jellemzőit, amelyek nincsenek jelen az Objective-C tervezésében.

  • egységes felhasználói felület és felhasználói élmény biztosítása.

  • lehetővé teszi egy alkalmazás számára, hogy hozzáférjen más alkalmazásokhoz, szolgáltatásokhoz és eszközfunkciókhoz.

  • konkrét építészeti és Adatkezelési minták ösztönzése.

ezeket az átfogó tervezési célokat több “keretrendszerben” valósítják meg.”Ez a kifejezés kissé zavaró lehet. A kortárs szóhasználatban a kakaó inkább egyetlen keretrendszer, több modullal vagy könyvtárral. De az Apple ezeket a könyvtárakat “keretrendszernek” nevezi.”

vizsgáljuk meg egy kicsit ezeket a funkcionális célokat, és hogy a különböző kakaó keretek hogyan érik el őket.

kakaó mint Standard könyvtár

Objective-C van egy szabványos könyvtár. A Cocoa környezetben a standard könyvtárat és a futási időt valójában a Cocoa biztosítja. Ezenkívül az alapítványi készlet kibővített nyelvi funkciókat biztosít, amelyek a gyakorlatban de facto standard könyvtárként működnek.

Ez fejlettebb nyelvi funkciókat biztosít, mint általában az Objective-C-ben. Ez magában foglalja az alaposztályok széles skáláját a gyakran használt objektumtípusokhoz — számok, dátumok, karakterláncok, URL-ek, reguláris kifejezések és hibaüzenetek.

Ez az alapítványi keretrendszer elengedhetetlen az Objective-C-ben írt alkalmazásokban.

A Swift natív módon biztosítja a foundation Kit által hozzáadott modern nyelvi funkciókat, és nem világos, hogy az Alapítvány és az Objective-C milyen szerepet fog játszani a Swift-központú jövőben.

kakaó mint UI/UX felület

a kakaónak ez a szempontja talán a legnyilvánvalóbb az alkalmazásfejlesztők számára.

A Cocoa OS X verziójában a felhasználói élmény API-t az AppKit nevű keretrendszer biztosítja. Az iOS Cocoa Touch alkalmazásban ezt UIKit-nek hívják.

mindkét esetben ezek grafikus elemeket, felhasználói felület vezérlőket, ablak-és panelkezelést, multi-touch interfészeket, valamint a felhasználó és a rendszer közötti interakció minden egyéb részletét tartalmazzák.

az AppKit és az UIKit használata az, ami egy alkalmazást az Apple rendszerben honosnak tűnik, és reagál a bemenetekre (gesztusok, kattintások, mozgás) a “helyes” módon.

A Cocoa és a Cocoa Touch közötti nagy különbség az AppKit és az UIKit közötti különbség. Annak ellenére, hogy az Apple azon dolgozott, hogy egységesítse a felhasználói élményt a platformok között, továbbra is másképp lép kapcsolatba az iPhone-val, mint az asztali Mac-kel.

a kissé eltérő GUI elemek mellett az UIKit támogatja az iránytű irányát, A GPS-t, a gyorsulásmérőt (eszközmozgás) és az érintőképernyőt.

Cocoa Mint operációs rendszer interfész

Az Apple alkalmazásoknak képesnek kell lenniük arra is, hogy kölcsönhatásba lépjenek más alkalmazásokkal és operációs rendszer szolgáltatásokkal.

ha azt szeretné, hogy rákattinthasson egy telefonszámra a csevegőalkalmazásában, és elindíthasson egy telefonhívást, az alkalmazásoknak képesnek kell lenniük beszélni egymással.

ha azt szeretné, hogy egy zeneszerkesztő alkalmazás képes legyen felvenni a hangot a mikrofonról, és lejátszani a hangszórókat, az alkalmazásoknak képesnek kell lenniük az operációs rendszer szolgáltatásaival való interakcióra.

A Cocoa olyan keretrendszerek egész hosszú listáját kínálja, amelyek hozzáférést biztosítanak az alkalmazásokhoz és szolgáltatásokhoz. Ezek teszik lehetővé, hogy az alkalmazások ne csak önálló futtathatók legyenek, hanem egy integrált ökoszisztémában is létezhessenek és működhessenek.

kakaó mint építész

a kakaó két fontos építészeti mintát támogat, egyet az alkalmazáson belül, egyet pedig abban, hogy az alkalmazás hogyan kommunikál önmagán kívül.

A Cocoa a Model-View-Controller építészeti paradigmát szem előtt tartva íródott, és minden szinten támogatja az MVC fejlesztését.a

nézetet az AppKit vagy az UIKit keretrendszerek valósítják meg. A vezérlő modulokat az Alapkészletbe épített osztálycsalád támogatja. A modelleket és az adatperzisztencia réteghez való szükséges kapcsolódásukat egy másik keretrendszer, az úgynevezett Core Data kezeli.

Ez a kialakítás ösztönzi (egyesek szerint érvényesíti) a modell-nézet-vezérlő architektúrát az iOS és az OS X alkalmazásokban.

a különböző alkalmazások, valamint az alkalmazások és szolgáltatások között a különböző keretek lényegében szolgáltatásorientált módon közvetítik az interakciót. Ez megkönnyíti és biztonságosabbá teszi az alkalmazások egymással való integrálását, elősegítve a robusztus, rugalmas alkalmazás-ökoszisztémát.

Cocoa Resources

online

oktatóanyagok

  • alapvető programozási koncepciók a Cocoa és a Cocoa Touch számára

  • Bevezetés A Cocoa kódolási irányelveibe

  • Cocoa Dev Central

  • Mac OS X programozása Cocoa-val kezdőknek.

eszközök

  • Cocoa Controls: nyílt forráskódú felhasználói felület-összetevők iOS és OS X rendszerhez.

  • Cocoa Pod: csomagkezelő a Cocoa projektekhez.

Közösség és folyamatos tanulás

  • CocoaHeads: a Cocoa és a Cocoa Touch fejlesztésével foglalkozó helyi találkozók és vitacsoportok világméretű hálózata.

  • kakaó Subreddit.

Könyvek

  • gyors fejlesztés kakaóval: fejlesztés a Mac és iOS alkalmazásboltok számára

  • kakaó programozás OS X-hez: a nagy majom Ranch útmutató

  • tanulás kakaó objektív-C

  • Ry kakaó bemutatója

  • kakaó (fejlesztői referencia)

  • kakaó tervezési minták.

Egyéb OS X és iOS fejlesztési források

A Cocoa vagy a Cocoa Touch nem használható vákuumban. Ez egy darab a nagyobb Apple App fejlesztői környezet, amely magában foglalja az Xcode, Objective-C és Swift. Ezek a különböző eszközök és technológiák együttműködnek egy fejlesztési ökoszisztéma kialakításában.

Xcode

az Xcode egy szükséges integrált fejlesztői környezet (IDE) az OS X és iOS alkalmazások építéséhez. Szorosan integrálva van a Swift, A Cocoa,az Apple App store és a nagyobb Apple ökoszisztéma.

nincs sok oktatóanyag az Xcode-ról, mivel minden Általános Apple fejlesztési erőforrás lefedi. Az egyik nagyszerű forrás azonban ez az Xcode bemutató, amelyet rendszeresen frissítenek, amikor az Xcode új verziói megjelennek.

Objective-C

  • mintegy Objective-C: egy bevezető bemutató az Apple Developer center

  • Objective-C Programozás

  • Objective-C programozás: a Big Nerd Ranch Guide.

az Objective-C erőforrások teljesebb listája is van.

Swift

  • A Swift programozási nyelv: a hivatalos Apple útmutató

  • Swift programozás: a nagy majom Ranch útmutató: a végleges könyv a témáról.

a Swift erőforrások alapos listája is van.

General Apple Development Resources

Az Apple platformokra történő fejlesztéssel kapcsolatos információk és források első helye az Apple Developer site.

sok a legjobb könyvek Mac és iOS fejlesztés származik Big Nerd Ranch. A konkrét témákról szóló könyveiket fentebb említettük, és érdemes megnézni a fejlett Mac OS X programozásról és az iOS programozásról szóló könyveiket is.

egyéb jó általános források:

  • Ray Wenderlich oktatóanyagok: egyike azon viszonylag kevés szolgáltatóknak, amelyek visszamennek és frissítik a régi oktatóanyagokat, amikor az Apple frissíti a platformot.

  • Apple programozási csatorna a YouTube-on: nem hivatalos, de nagyon hasznos.

  • weheartswift: névlegesen a Swiftről, de ez az oldal az OS X és az iOS fejlesztésének minden aspektusát lefedi.

  • NSHipster: népszerű blog a Mac és az iOS fejlesztéséről, sok oktatóanyaggal a ” figyelmen kívül hagyott bitekről az Objective-C, A Swift és a Cocoa-ban.”Ők is nagyon véleményesek a lefedettségükben, ami valószínűleg erő.

  • ObjC.io Könyvek és cikkek az iOS és az OS X fejlesztésének fejlett technikáiról és gyakorlatairól.

alsó sor…

A Cocoa és a Cocoa Touch a natív alkalmazásfejlesztés alapjai Mac és iOS rendszeren.

iOS esetén vannak más módok a nem natív mobilalkalmazások létrehozására HTML5 és JS használatával, de ez nem mindig megy olyan jól, mint amire számítottak-tényleg.

Ha meg szeretné építeni a következő nagy iPhone alkalmazást, vagy olyan Mac alkalmazásokat szeretne létrehozni, amelyek jól integrálódnak az OS X-hez és megfelelnek a felhasználói elvárásoknak, akkor valóban be kell ásnia a Cocoa és a Cocoa Touch alkalmazást. A natív alkalmazásfejlesztéshez valójában nincsenek helyettesítők.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.