Kakao og kakao Touch: Sådan kommer du i gang Byg Mac- og iOS-apps

Afsløring: Din support hjælper med at holde webstedet kørt! Vi tjener et henvisningsgebyr for nogle af de tjenester, vi anbefaler på denne side.


Cocoa er et udviklings-API, der er hjemmehørende i operativsystemet Mac OS X. Cocoa Touch er den tæt relaterede, analoge platform til iOS. Det er skrevet i Objekt-C og fungerer som en slags ”øverste lag” til hvert operativsystem.

Kakao kan betragtes som en applikationsplatform eller en applikationsudviklingsramme, men det er mere integreret i operativsystemet, end en af ​​disse ville være i et Linux- eller Windows-miljø.

Denne stramme integration mellem API, operativsystemet og (selvfølgelig) Apples egen hardware er beregnet til at give et problemfrit udviklingsmiljø og håndhæve “Apple-måde” til at gøre ting.

Kakaos historie

Kakao starter med C. Bogstaveligt talt.

I begyndelsen af ​​1980’erne søgte et par udviklere ved navn Brad Cox og Tom Love at tilføje Object Orientation til programmeringssprog C, som ikke understøttede OOP på det tidspunkt.

Deres løsning var at oprette en for-processor, der ville gøre C-kode med nogle Smalltalk-lignende tilføjelser til almindelig kompilerbar C-kode. (Smalltalk var et tidligt objektorienteret sprog.)

Denne forbehandler udviklede sig hurtigt til en fuldstændig sprogudvidelse og blev kendt som Objekt-C. NeXT-software, der blev grundlagt af Steve Jobs, efter at han blev fyret fra Apple i 1985, licenserede Objekt-C fra dets skabere og brugte det som grundlag for flere udviklingsrammer.

Disse dannede NeXTSTEP og OpenStep applikationsplatforme, som NeXT solgte gennem 80’erne og 90’erne.

Apple købte NeXT i 1996, og Steve Jobs vendte tilbage som CEO. NeXTSTEP-rammerne kom vej ind i Mac-operativsystemet.

Apple havde allerede varemærket navnet Cocoa til et separat projekt, der blev afbrudt. For hurtigt at sætte et varemærkevarenavn på Apples nyere version af rammerne kaldte de det Cocoa.

Kakao har været en del af alle Apples operativsystemer siden slutningen af ​​1990’erne og har udviklet sig sammen med OS og de nye enhedsplatforme siden da.

Hvad gør kakao??

Kakao gør en masse ting, men stort set falder disse i fire kategorier:

  • Fungerer som et udvidet standardbibliotek for Objekt-C, der yder støtte til rigere objekter og funktioner i moderne computersprog, der ikke er til stede i designet af Objekt-C.

  • Tilvejebringelse af en samlet brugergrænseflade og brugeroplevelse.

  • Tillader, at en applikation får adgang til andre applikationer, tjenester og enhedsfunktioner.

  • Fremme af særlige arkitektoniske og datastyringsmønstre.

Disse brede designmål implementeres i flere ”rammer”. Dette udtryk kan være lidt forvirrende. I moderne parlance ligner Cocoa mere som en enkelt ramme med flere moduler eller biblioteker. Men Apple kalder hvert af disse biblioteker en “ramme”.

Lad os udforske hvert af disse funktionelle mål lidt, og hvordan de forskellige Cocoa-rammer opnår dem.

Kakao som standardbibliotek

Objectivity-C har et standardbibliotek. I Cocoa-miljøet leveres standardbiblioteket og runtime faktisk af Cocoa. Derudover leveres et sæt udvidede sprogfunktioner af Foundation Kit, der i praksis fungerer som et de facto standardbibliotek.

Dette giver mere avancerede sprogfunktioner end normalt ville være tilgængelige i mål-C. Dette inkluderer en bred vifte af basisklasser til almindeligt anvendte typer objekter – tal, datoer, strenge, URL’er, regelmæssige udtryk og fejlmeddelelser.

Denne Foundation Kit-ramme er essentiel i apps skrevet i Objekt-C. Appudvikling i Apple-platforme bevæger sig imidlertid væk fra Objekt-C, da Apple promoverer sit nyere Swift-udviklingssprog.

Swift leverer naturligt mange af de moderne sprogfunktioner tilføjet af Foundation Kit, og det er uklart, hvilken rolle Foundation og Objekt-C vil spille i en Swift-centreret fremtid.

Kakao som en UI / UX-grænseflade

Dette aspekt af Cocoa er måske det mest åbenlyst vigtige for appudviklere.

I OS X-versionen af ​​Cocoa leveres brugeroplevelses-API’et af en ramme kaldet AppKit. I Cocoa Touch til iOS kaldes dette UIKit.

I begge tilfælde tilvejebringer disse grafiske elementer, brugergrænsefladekontroller, administration af vinduer og paneler, multi-touch-grænseflader og alle andre detaljer om interaktion mellem bruger og system.

Brug af AppKit og UIKit er det, der får et program til at se og føle sig hjemmehørende i Apple-systemet og reagere på input (bevægelser, klik, bevægelse) på den “rigtige” måde.

Den store forskel mellem Cocoa og Cocoa Touch er forskellen mellem AppKit og UIKit. Så meget som Apple har arbejdet for at forene brugeroplevelsen på tværs af platforme, interagerer du stadig med en iPhone anderledes end du gør med en desktop Mac.

Udover lidt forskellige GUI-elementer inkluderer UIKit support til ting som kompasretning, GPS, accelerometer (bevægelse af enhed) og berøringsskærm.

Kakao som operativsystemgrænseflade

Apple-apps skal også være i stand til at interagere med andre apps og operativsystemtjenester.

Hvis du vil være i stand til at klikke på et telefonnummer i din chat-app og få det til at starte et telefonopkald, skal apps være i stand til at tale med hinanden.

Hvis du ønsker, at en musikredigeringsapp skal kunne hente lyd fra en mikrofon og afspille til dine højttalere, skal apps være i stand til at interagere med operativsystemtjenester.

Kakao giver en lang liste over rammer, der giver adgang til apps og tjenester. Det er disse, der tillader, at apps ikke kun er uafhængige eksekverbare, men at eksistere og operere i et integreret økosystem.

Kakao som arkitekt

Kakao understøtter to vigtige arkitektoniske mønstre, et inden for en applikation og et i, hvordan en applikation kommunikerer uden for sig selv.

Kakao er skrevet med model-View-Controller arkitektonisk paradigme i tankerne og understøtter MVC-udvikling på alle niveauer.

Visning implementeres af AppKit- eller UIKit-rammerne. Controller-moduler understøttes gennem en familie af klasser indbygget i Foundation Kit. Modeller og deres påkrævede forbindelse til et datapersistenslag håndteres af en anden ramme kaldet Core Data.

Dette design tilskynder (nogle kan sige håndhæver) en Model-View-Controller-arkitektur inden for iOS- og OS X-applikationer.

Mellem forskellige applikationer og også mellem applikationer og tjenester formidler de forskellige rammer interaktion på en i det væsentlige serviceorienteret måde. Dette gør det både lettere og sikrere at integrere apps med hinanden og fremme et robust, elastisk applikationsøkosystem.

Cocoa Resources

Online

Vejledninger

  • Grundlæggende programmeringskoncepter til kakao og kakao touch

  • Introduktion til kodningsretningslinjer for kakao

  • Cocoa Dev Central

  • Programmering af Mac OS X med kakao til begyndere.

Værktøj

  • Kakaokontroller: open source UI-komponenter til iOS og OS X.

  • Cocoa Pods: en pakkeadministrator for Cocoa-projekter.

Fællesskab og fortsat læring

  • CocoaHeads: et verdensomspændende netværk af lokale møde- og diskussionsgrupper dedikeret til udvikling af Cocoa og Cocoa Touch.

  • Cocoa Subreddit.

Bøger

  • Hurtig udvikling med kakao: Udvikling til Mac- og iOS-appbutikker

  • Kakaoprogrammering til OS X: The Big Nerd Ranch Guide

  • Læring kakao med mål-C

  • Ry’s Cocoa Tutorial

  • Cocoa (Reference for udviklere)

  • Kakao design mønstre.

Andre OS X- og iOS-udviklingsressourcer

Du kan ikke bruge Cocoa eller Cocoa Touch i et vakuum. Det er et stykke af det større Apple App-udviklingsmiljø, der inkluderer Xcode, Objekt-C og Swift. Disse forskellige værktøjer og teknologier arbejder sammen om at danne et udviklingsøkosystem.

Xcode

Xcode er et påkrævet Integreret Udviklingsmiljø (IDE) til opbygning af OS X- og iOS-applikationer. Det er tæt integreret med Swift, Cocoa, Apple App-butikken og det større Apple-økosystem.

Der er ikke mange tutorials om Xcode specifikt, da det er dækket af enhver generel Apple-udviklingsressource. En stor ressource er dog denne Xcode-tutorial, der regelmæssigt opdateres, når nye versioner af Xcode kommer ud.

Objective-C

  • Om Objekt-C: en introduktionsvejledning fra Apple Developer Center

  • Mål-C-programmering

  • Mål-C-programmering: The Big Nerd Ranch Guide.

Vi har også en mere komplet liste over mål-C-ressourcer.

Swift

  • Det hurtige programmeringssprog: den officielle Apple-guide

  • Hurtig programmering: The Big Nerd Ranch Guide: den endelige bog om emnet.

Vi har også en grundig liste over Swift-ressourcer.

Generelle Apple-udviklingsressourcer

Det første sted til information og ressourcer om udvikling til Apple-platforme er Apple Developer-webstedet.

Mange af de bedste bøger om Mac og iOS-udvikling kommer fra Big Nerd Ranch. Deres bøger om specifikke emner er nævnt ovenfor, og du bør også tjekke deres bøger om avanceret Mac OS X-programmering og iOS-programmering.

Andre gode generelle ressourcer:

  • Ray Wenderlich Tutorials: en af ​​de relativt få udbydere, der går tilbage og opdaterer gamle tutorials, når Apple opdaterer platformen.

  • Apple-programmeringskanal på YouTube: ikke officiel, men meget hjælpsom.

  • WeHeartSwift: nominelt om Swift, men dette websted dækker alle aspekter af OS X og iOS-udvikling.

  • NSHipster: en populær blog om udvikling af Mac og iOS med en masse tutorials om “overset bits i Objekt-C, Swift og Cocoa.” De er også meget opmærksomme på deres dækning, hvilket sandsynligvis er en styrke.

  • ObjC.io: bøger og artikler om avanceret teknik og praksis til udvikling af iOS og OS X.

Bundlinie…

Kakao og Cocoa Touch er grundlaget for den oprindelige appudvikling til Mac og iOS.

For iOS er der andre måder at opbygge ikke-oprindelige mobile apps med HTML5 og JS, men dette går ikke altid så godt som forventet – virkelig.

Hvis du vil bygge den næste store iPhone-app, eller oprette Mac-apps, der integreres godt med OS X og overholder brugerens forventninger, skal du virkelig grave i Cocoa og Cocoa Touch. Til native app-udvikling er der virkelig ingen erstatninger.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map