I november gjorde Apple hva det lovet og lanserte WatchKit til tredjepartsutviklere. Ikke bare lanserte det WatchKit, det ga utviklere en rekke ressurser, inkludert retningslinjer for menneskelig grensesnitt for Apple Watch-applikasjoner. I denne artikkelen vil jeg fortelle deg hva du trenger å vite om WatchKit og Apple Watch-applikasjoner.
Du kan tro at WatchKit er et rammeverk som inneholder alt du trenger for å lage et Apple Watch-program, men det er bare en del av historien. Historien er litt mer kompleks, fordi en Apple Watch-applikasjon ikke er hva du kanskje tror det er.
WatchKit er en integrert del av Apple Watch-opplevelsen for tredjepartsprogrammer. Den inneholder klassene for å lage Apple Watch-applikasjoner, og det sikrer at en Apple Watch-applikasjon kan snakke med den tilhørende WatchKit-utvidelsen. Vente. Hva? Fortalte jeg ikke historien er litt komplisert?
En av de viktigste konseptene for å forstå Apple Watch-applikasjoner er at en Apple Watch-applikasjon krever at en iPhone skal utføre sitt arbeid. For å forstå dette konseptet må vi se nærmere på arkitekturen i en Apple Watch-applikasjon.
En tredjeparts Apple Watch-applikasjon kan bare gjøre sitt arbeid hvis brukerens Apple Watch er parret med sin iPhone. Apple Watch og iPhone snakker med hverandre ved hjelp av Bluetooth og WatchKit-rammen. Følgende diagram oppsummerer denne arkitekturen.
Som du ser i diagrammet ovenfor, er WatchKit-rammeverket ansvarlig for kommunikasjonen mellom Apple Watch og den parrede iPhone. Men hvordan virker dette?
For å si det enkelt, er Apple Watch bare ansvarlig for:
Apple Watch-applikasjonen i diagrammet ovenfor inneholder programmets storyboard og de statiske ressursene som Apple Watch-applikasjonen trenger for å presentere brukergrensesnittet.
WatchKit-utvidelsen lever og kjører på iPhone og er en del av det iOS-programmet brukeren har installert på sin iPhone. Den forrige setningen berører en viktig detalj, det vil si, en Apple Watch-applikasjon er ikke noe mer enn en utvidelse av et eksisterende iOS-program. La oss utforske dette mer detaljert.
Du lurer kanskje på hva en Apple Watch-applikasjon er og hvordan du kan opprette en. Strengt tatt er en Apple Watch-applikasjon komponenten som kjører på Apple Watch. En Apple Watch-applikasjon presenterer brukergrensesnittet og avlyser berøringshendelser.
Dette betyr at en Apple Watch-applikasjon ikke kan brukes uten den sammenkoblede enheten som den tilhørende WatchKit-utvidelsen kjører på. Apple Watch-programmet og WatchKit-utvidelsen er en del av det iOS-programmet brukeren installerer på sin iPhone.
Som nevnt tidligere, er det viktig å forstå at tredjeparts Apple Watch-applikasjoner krever en iPhone og er ubrukelig uten en parret iPhone der den tilhørende WatchKit-utvidelsen lever.
Den gode nyheten er at WatchKit-rammeverket tar seg av de nitty-gritty detaljene. Den kombinerer automatisk iPhone og Apple Watch, og håndterer kommunikasjonen mellom Apple Watch-programmet og WatchKit-utvidelsen. Kommunikasjon mellom iPhone og Apple Watch håndteres av Bluetooth.
Når brukeren starter en Apple Watch-applikasjon fra startskjermbildet, lanserer den parrede iPhone WatchKit-utvidelsen for det programmet. Eventuelle brukerinteraksjoner videresendes til WatchKit-utvidelsen, og det er sistnevnte ansvar å bestemme hvordan Apple Watch-applikasjonen skal svare på brukerinteraksjon.
Bare storyboard og statiske ressurser i Apple Watch-applikasjonen er installert på Apple Watch. Som jeg nevnte for et øyeblikk, håndteres ingen av forretningslogikken på Apple Watch.
Selv om dette kan virke som en stor begrensning, har det absolutt fordeler. Applikasjonen Apple Watch har for eksempel gjennom WatchKit-utvidelsen tilgang til dataene i det tilsvarende iOS-programmet. Apple Watch-applikasjonen kan også dra nytte av iPhone-enhetens evner, for eksempel plasseringskontroll og nettverkstilkobling.
Installere en Apple Watch-applikasjon er trivial. Når brukeren installerer et iOS-program som støtter Apple Watch, blir brukeren spurt om den ønsker å installere den tilsvarende Apple Watch-applikasjonen. Det er så enkelt.
Under Apples innspill i september har du kanskje hørt om blikk og meldinger. En Apple Watch-applikasjon kan presentere seg til brukeren på tre måter.
Den mest åpenbare representasjonen av en Apple Watch-applikasjon er når brukeren starter applikasjonsskjemaet på Apple Watch-startskjermbildet. Dette lanserer brukergrensesnittet i Apple Watch-applikasjonen og lar brukeren kommunisere med den.
Når det gjelder funksjonalitet, ser et blikk ut som en utvidelse i dag på iOS. Den viser brukerens relevant informasjon om Apple Watch-utvidelsen. Hovedforskjellen med en utvidelse i dag er at blikkene er skrivebeskyttet. Vær også oppmerksom på at det er helt mulig å lage et Apple Watch-program uten støtte for blikk.
I tillegg til standardbrukergrensesnittet for lokale og eksterne meldinger, er det mulig for Apple Watch-applikasjoner å inkludere et tilpasset brukergrensesnitt for lokale og eksterne meldinger. Som med blikk, er dette valgfritt for Apple Watch-applikasjoner.
Apple Watch har en liten skjerm i forhold til iPhone 6 og 6 Plus. Resultatet er at navigasjon og brukerinteraksjon er forskjellig og mer begrenset på Apple Watch.
WatchKit-rammeverket inneholder for tiden to typer navigasjon, hierarkisk og sidebasert navigering. Hierarkisk Navigasjon er veldig lik hvordan UINavigationController
håndterer navigasjon på iOS mens side-baserte navigasjon ligner på måten UIPageViewController
Lar brukeren bla mellom sider med innhold.
Jo mer du lærer om og spiller med WatchKit, jo mer legger du merke til hvor forskjellig det er fra iOS og paradigmene definert av IOS økosystemet. Brukerinteraksjon, for eksempel, er ganske annerledes. WatchKit-rammeverket tillater ikke komplekse gjenkjenning, og det er heller ikke mulig å bruke tilpassede gjenkjenningsmidler.
Forstå brukerinteraksjon på Apple Watch er ganske grei. Det er fem typer brukerinteraksjon:
I tillegg til å manipulere innholdet på skjermen, kan brukeren også samhandle med Apple Watch ved hjelp av Digital Crown. Med hensyn til tredjepartsprogrammer kan Digital Crown kun brukes til å bla gjennom innhold.
Det er en rekke begrensninger når det gjelder å utvikle Apple Watch-applikasjoner. Vi har allerede lært at brukerinteraksjon og navigasjon ikke er like kraftig på Apple Watch som det er på iOS, og det er noen få restriksjoner du må være oppmerksom på.
Animasjoner, for eksempel, er ikke like kraftige eller enkle å implementere på Apple Watch. Animasjoner er opprettet ved å vise en rekke bilder til brukeren. Dynamisk å legge til og fjerne visninger er også noe som ikke er mulig på Apple Watch. Faktisk er visninger ikke eksisterende på Apple Watch, og det samme gjelder for automatisk oppsett.
I stedet utsetter WatchKit-rammeverket WKInterfaceController
klassen, som administrerer en skjerm med innhold. Kontrollene som brukes på Apple Watch, er også forskjellige enn de som brukes på iOS. Det er mange likheter, men det vil kreve at noen blir vant til.
Disse begrensningene bør ikke være en overraskelse. Apple Watch er forskjellig fra iOS-økosystemet, og det er forståelig at mønstrene og paradigmene for hver er forskjellige.
Hvis du vil lære mer om WatchKit, har du en rekke alternativer. Jeg anbefaler deg først å se Apples innledende video. Hvis du vil dykke dypere inn i WatchKit-rammen, så er WatchKit Programmering Guide din neste stopp. Designere kan være interessert i å bla gjennom retningslinjene for Apple Watch Human Interface.
Hvis du er ivrig etter å komme i gang, oppfordrer jeg deg til å laste ned Xcode 6.2 og få hendene dine skitne med WatchKit. Xcodes simulator støtter Apple Watch, så det er ingenting som hindrer deg fra å lage ditt første Apple Watch-program i dag.
Apple har oversvømt utviklere med informasjon og ressurser til å gå gjennom. Mens WatchKit-rammen og dokumentasjonen kan endres, er det allerede klart hvilke muligheter Apple Watch åpner for utviklere. Mitt forslag er å laste ned Xcode 6.2 og begynne å eksperimentere med WatchKit-rammeverket i dag.