Maybaygiare.org

Blog Network

Cocoa and Cocoa Touch: How to Get Started Build Mac and iOS Apps

Disclosure: your support helps keep the site running! Ansaitsemme lähetemaksun joistakin tällä sivulla suosittelemistamme palveluista.

Cocoa on Mac OS X-käyttöjärjestelmän kehitysrajapinta. Cocoa Touch on läheisesti liittyvä analoginen alusta iOS: lle. Se on kirjoitettu Objective-C: llä ja toimii eräänlaisena ”pintakerroksena” jokaiselle käyttöjärjestelmälle.

Cocoa voidaan ajatella sovellusalustana tai sovelluskehityskehyksenä, mutta se on integroituneempi käyttöjärjestelmään kuin kumpikaan näistä olisi Linux-tai Windows-ympäristössä.

tämä tiivis integrointi API: n, käyttöjärjestelmän ja (tietenkin) Applen oman laitteiston välillä on tarkoitettu tarjoamaan saumaton kehitysympäristö ja valvomaan ”Applen tapaa” tehdä asioita.

kaakaon historia

kaakao alkaa kirjaimella C.

1980-luvun alussa Brad Cox ja Tom Love-niminen kehittäjäpari pyrki lisäämään Olio-orientaation C-ohjelmointikieleen, joka ei tuolloin tukenut OOP: ta.

heidän ratkaisunsa oli luoda esiprosessori, joka muuttaisi C-koodin joillakin Smalltalkin kaltaisilla lisäyksillä tavalliseksi koostettavaksi C-koodiksi. (Smalltalk oli varhainen oliopainotteinen kieli.)

tästä esiprosessorista kehittyi nopeasti täysimittainen kielilaajennus ja se tuli tunnetuksi nimellä Objective-C. NeXT software, jonka Steve Jobs perusti saatuaan potkut Applelta vuonna 1985, lisensoi Objective-C: n tekijöiltään ja käytti sitä useiden kehityskehysten pohjana.

nämä muodostivat NeXTSTEP-ja OpenStep-sovellusalustat, jotka seuraavaksi myivät läpi 80-ja 90-lukujen.

Apple osti NeXTin vuonna 1996, ja Steve Jobs palasi toimitusjohtajaksi. NeXTSTEP-kehykset pääsivät Mac-käyttöjärjestelmään.

Apple oli jo tavaramerkinnyt kaakao-nimen erilliselle projektille, joka lopetettiin. Laittaakseen nopeasti tavaramerkittyä tuotemerkkiä Applen uudempaan versioon kehyksistä, he kutsuivat sitä Kaakaoksi.

Cocoa on ollut osa kaikkia Applen käyttöjärjestelmiä 1990-luvun lopulta lähtien, ja se on kehittynyt käyttöjärjestelmän ja uusien laitealustojen mukana siitä lähtien.

mitä kaakao tekee?

Cocoa tekee paljon asioita, mutta pääpiirteittäin nämä jakautuvat neljään kategoriaan:

  • toimii laajennettuna Objective-C: n standardikirjastona tarjoten tukea rikkaammille objekteille ja sellaisten nykyaikaisten laskentakielten ominaisuuksille, joita ei ole Objective-C: n suunnittelussa.

  • tarjoaa yhtenäisen käyttöliittymän ja käyttökokemuksen.

  • mahdollistaa sovelluksen pääsyn muihin sovelluksiin, palveluihin ja laitteen ominaisuuksiin.

  • rohkaisee erityisesti arkkitehtuurin ja tiedonhallinnan malleja.

näitä laajoja suunnittelutavoitteita toteutetaan useissa ”kehyksissä.”Tämä termi voi olla hieman sekava. Nykykielessä kaakao on enemmän kuin yhtenäinen kehys, jossa on useita moduuleja tai kirjastoja. Mutta Apple kutsuu jokaista näistä kirjastoista ” kehykseksi.”

Tutkitaanpa vähän jokaista näistä toiminnallisista tavoitteista ja sitä, miten eri Kaakaokehykset saavuttavat ne.

kaakao Standardikirjastona

Objective-C: llä on standardikirjasto. Kaakaoympäristössä vakiokirjasto ja runtime ovat itse asiassa kaakaon tarjoamia. Lisäksi Foundation Kit tarjoaa joukon laajennettuja kieliominaisuuksia, jotka käytännössä toimivat de facto standardikirjastona.

Tämä tarjoaa kehittyneempiä kieliominaisuuksia kuin Objective-C: ssä normaalisti olisi. Tämä sisältää laajan valikoiman perusluokkia yleisesti käytetyille objektityypeille-numerot, päivämäärät, merkkijonot, URL-osoitteet, säännölliset lausekkeet ja virheilmoitukset.

Tämä Foundation Kit-kehys on oleellinen Objective-C: llä kirjoitetuissa sovelluksissa.Applen alustojen sovelluskehitys on kuitenkin siirtymässä pois Objective-C: stä, sillä Apple mainostaa uudempaa Swift-kehityskieltään.

Swift tarjoaa natiivisti monia Foundation Kitin lisäämiä nykykielen ominaisuuksia, ja on epäselvää, mikä rooli Foundationilla ja Objective-C: llä tulee olemaan Swift-keskeisessä tulevaisuudessa.

kaakao UI/UX-käyttöliittymänä

Tämä kaakaon osa-alue on sovelluskehittäjille ehkä kaikkein ilmeisin.

Cocoan OS X-versiossa käyttäjäkokemusrajapinnan tarjoaa sovelluskehys. Cocoa Touch for iOS: ssä tätä kutsutaan UIKit: ksi.

molemmissa tapauksissa nämä tarjoavat graafisia elementtejä, käyttöliittymäohjauksia, ikkunoiden ja paneelien hallintaa, monikosketusliittymiä sekä kaikkia muita yksityiskohtia käyttäjän ja järjestelmän välisestä vuorovaikutuksesta.

Appkitin ja Uikitin käyttö saa sovelluksen näyttämään ja tuntumaan omalta Applen järjestelmältä ja reagoimaan syötteisiin (eleet, klikkaukset, liike) ”oikealla” tavalla.

suuri ero kaakaon ja Cocoa Touchin välillä on Appkitin ja Uikitin ero. Niin paljon kuin Apple on pyrkinyt yhtenäistämään käyttökokemusta eri alustoilla, olet silti vuorovaikutuksessa iPhonen kanssa eri tavalla kuin työpöydän Macin kanssa.

hieman erilaisten KÄYTTÖLIITTYMÄELEMENTTIEN lisäksi UIKit sisältävät tuen esimerkiksi kompassin suunnalle, GPS: lle, kiihtyvyysmittarille (laitteen liike) ja kosketusnäytölle.

Cocoa Käyttöjärjestelmärajapintana

Applen sovellusten on myös kyettävä vuorovaikutukseen muiden sovellusten ja käyttöjärjestelmän palveluiden kanssa.

Jos haluat kyetä klikkaamaan puhelinnumeroa chat-sovelluksessasi ja saada sen käynnistämään puhelun, sovellusten on kyettävä keskustelemaan keskenään.

Jos haluat musiikin muokkaussovelluksen pystyvän poimimaan ääntä mikrofonista ja soittamaan kaiuttimiin, sovellusten on kyettävä vuorovaikutukseen käyttöjärjestelmän palveluiden kanssa.

Cocoa tarjoaa kokonaisen pitkän listan kehyksiä, jotka tarjoavat pääsyn sovelluksiin ja palveluihin. Nämä ovat mitä avulla sovellukset eivät ole vain itsenäisiä suoritettavia, mutta olemassa ja toimivat integroidussa ekosysteemissä.

kaakao arkkitehtina

kaakao tukee kahta tärkeää arkkitehtonista kaavaa, joista toinen on sovelluksessa ja toinen siinä, miten sovellus kommunikoi itsensä ulkopuolella.

Cocoa on kirjoitettu malli-näkymä-ohjain-arkkitehtoninen paradigma mielessä, ja se tukee MVC: n kehitystä kaikilla tasoilla.

näkymä toteutetaan AppKit-tai UIKit-kehyksillä. Controller moduulit tuetaan perheen luokkien rakennettu Foundation Kit. Malleja ja niiden vaatimaa yhteyttä tietojen pysyvyyskerrokseen käsitellään toisessa kehyksessä nimeltä Core Data.

Tämä muotoilu kannustaa (jotkut saattavat sanoa pakottaa) Mallinäkymäohjainarkkitehtuuriin iOS-ja OS X-sovelluksissa.

eri sovellusten välillä ja myös sovellusten ja palveluiden välillä eri viitekehykset välittävät vuorovaikutusta pääosin palvelukeskeisesti. Tämä tekee sovellusten integroimisesta toisiinsa helpompaa ja turvallisempaa, mikä edistää vankkaa ja joustavaa sovellusekosysteemiä.

Cocoa Resources

Online

Tutorials

  • Basic Programming Concepts for Cocoa and Cocoa Touch

  • Introduction to Coding Guidelines for Cocoa

    Programming Mac OS X with Cocoa for Beginners.

Työkalut

  • Cocoa Controls: avoimen lähdekoodin KÄYTTÖLIITTYMÄKOMPONENTIT iOS: lle ja OS X: lle.

  • Cocoa Pods: paketinhallinta Kaakaoprojekteille.

yhteisöllinen ja jatkuva oppiminen

  • CocoaHeads: maailmanlaajuinen verkosto paikallisia kokous-ja keskusteluryhmiä omistettu kaakaon ja kaakaon Touch kehittämiseen.

  • Cocoa Subreddit.

Kirjat

    Swift Development with Cocoa: Developing for the Mac and iOS App Stores

    Cocoa ohjelmointi OS X: The Big Nerd Ranch Guide

    Learning Cocoa with Objective-C

    Ry: n Cocoa Tutorial

    Cocoa (Kehittäjäviite

  • kaakaon suunnittelukuviot.

muut OS X: n ja iOS: n Kehitysresurssit

kaakaota tai Kaakaokosketusta ei voi käyttää tyhjiössä. Se on osa suurempaa Applen Sovelluskehitysympäristöä, johon kuuluvat Xcode, Objective-C ja Swift. Nämä erilaiset työkalut ja teknologiat muodostavat yhdessä kehitysekosysteemin.

Xcode

Xcode on tarvittava integroitu kehitysympäristö (IDE) OS X-ja iOS-sovellusten rakentamiseen. Se on tiiviisti integroitu Swift, Cocoa, Apple App store, ja suurempi Apple ekosysteemi.

Xcodesta ei ole paljoakaan tutorialeja, sillä se kuuluu jokaiseen yleiseen Applen kehitysresurssiin. Yksi suuri resurssi, vaikka, on tämä Xcode opetusohjelma, joka päivitetään säännöllisesti uusia versioita Xcode tulee ulos.

Objective-C

  • about Objective-C: an introduction tutorial from the Apple Developer center

  • Objective-C Programming

    Objective-C Programming: The Big Nerd Ranch Guide.

meillä on myös kattavampi luettelo Tavoite-C: n resursseista.

Swift

  • the Swift Programming Language: the official Apple guide

  • Swift Programming: The Big Nerd Ranch Guide: the definitive book on the subject.

meillä on myös perusteellinen lista Swift-resursseista.

Yleiset Applen Kehitysresurssit

ensimmäinen paikka Applen alustojen kehittämiseen liittyville tiedoille ja resursseille on Applen Kehittäjäsivusto.

monet Macin ja iOS: n kehityksen parhaista kirjoista tulevat Big Nerd ranchilta. Heidän kirjojaan tietyistä aiheista on mainittu edellä, ja sinun pitäisi myös tarkistaa heidän kirjojaan edistyneestä Mac OS X-ohjelmoinnista ja iOS-ohjelmoinnista.

muut hyvät yleiset resurssit:

  • Ray Wenderlich Tutorials: yksi suhteellisen harvoista tarjoajista, joka palaa takaisin ja päivittää vanhoja tutorialseja, kun Apple päivittää alustaa.

  • Applen Ohjelmointikanava YouTubessa: ei virallinen, mutta erittäin hyödyllinen.

  • weheartswift: nimellisesti Swiftistä, mutta tämä sivusto kattaa kaikki OS X: n ja iOS: n kehityksen osa-alueet.

  • NSHipster: suosittu blogi Mac ja iOS kehitystä, jossa on paljon opetusohjelmia ” unohdetaan bittiä Objective-C, Swift, ja Cocoa.”He ovat myös hyvin opinionated niiden kattavuus, joka on luultavasti vahvuus.

  • ObjC.io: kirjoja ja artikkeleita kehittyneitä tekniikoita ja käytäntöjä iOS ja OS X kehitys.

Pohjanpalo…

Cocoa ja Cocoa Touch ovat natiivin sovelluskehityksen perusta Macille ja iOS: lle.

iOS: lle on muitakin tapoja rakentaa ei-natiiveja mobiilisovelluksia HTML5: llä ja JS: llä, mutta tämä ei aina mene niin hyvin kuin odotettiin — oikeastaan.

Jos haluat rakentaa seuraavan ison iPhone-sovelluksen tai luoda Mac-sovelluksia, jotka integroituvat hyvin OS X: ään ja vastaavat käyttäjien odotuksia, sinun on todella kaivauduttava kaakaoon ja Kaakaokosketukseen. Natiivi app development, ei todellakaan ole korvaavia.

Vastaa

Sähköpostiosoitettasi ei julkaista.