I november gjorde Apple vad det lovade och släppte WatchKit till tredje part utvecklare. Det gav inte bara WatchKit, det gav utvecklare ett antal resurser, inklusive riktlinjer för mänskliga gränssnitt för Apples Watch-applikationer. I den här artikeln kommer jag att berätta vad du behöver veta om WatchKit och Apple Watch-applikationer.
Du kanske tror att WatchKit är en ram som innehåller allt du behöver för att skapa en Apple Watch-applikation, men det är bara en del av historien. Historien är lite mer komplex, eftersom en Apple Watch-applikation inte är vad du kanske tycker är det.
WatchKit är en integrerad del av Apple Watch-upplevelsen för program från tredje part. Den innehåller klasserna för att skapa Apple Watch-applikationer och det säkerställer att en Apple Watch-applikation kan prata med motsvarande WatchKit-förlängning. Vänta. Vad? Sade jag inte att historien är lite komplicerad?
En av de viktigaste koncepten att förstå om Apples Watch-applikationer är att en Apple Watch-applikation kräver en iPhone för att göra sitt arbete. För att förstå detta koncept behöver vi titta närmare på arkitekturen i en Apple Watch-applikation.
En Apple Watch-program från tredje part kan bara göra sitt arbete om användarens Apple Watch är parat med sin iPhone. Apple Watch och iPhone pratar med varandra med hjälp av Bluetooth och WatchKit-ramen. Följande diagram sammanfattar denna arkitektur.
Som du kan se i diagrammet ovan är WatchKit-ramen ansvarig för kommunikationen mellan Apple Watch och den parade iPhone. Men hur fungerar det här??
För att uttrycka det enkelt är Apple Watch endast ansvarig för:
Apple Watch-programmet i diagrammet ovan innehåller programmets storyboard och de statiska resurserna som Apple Watch-programmet behöver presentera sitt användargränssnitt.
WatchKit-förlängningen lever och körs på iPhone och ingår i det iOS-program som användaren har installerat på sin iPhone. Den tidigare meningen berör en viktig detalj, det vill säga en Apple Watch-applikation är ingenting annat än en förlängning av en befintlig iOS-applikation. Låt oss utforska detta mer i detalj.
Du kanske undrar vad en Apple Watch-applikation är och hur du kan skapa en. Strängt taget är en Apple Watch-applikation komponenten som körs på Apple Watch. En Apple Watch-applikation presenterar användargränssnittet och avlyssnar beröringshändelser.
Det betyder att Apple Watch-programmet inte kan användas utan den parade enheten där motsvarande WatchKit-tillägg körs. Apple Watch-programmet och WatchKit-förlängningen är en del av det iOS-program som användaren installerar på sin iPhone.
Som jag nämnde tidigare är det viktigt att förstå att Apple Watch-program från tredje part kräver en iPhone och är oanvändbar utan en parad iPhone där motsvarande WatchKit-förlängning lever.
Den goda nyheten är att WatchKit-ramverket tar hand om de nitty-gritty detaljerna. Den kopplar automatiskt iPhone och Apple Watch och hanterar kommunikationen mellan Apple Watch-programmet och WatchKit-tillägget. Kommunikation mellan iPhone och Apple Watch hanteras av Bluetooth.
När användaren startar en Apple Watch-applikation från startskärmen startar den parade iPhone WatchKit-tillägget för den applikationen. Alla användarinteraktioner vidarebefordras till WatchKit-tillägget och det är det senare ansvaret att bestämma hur Apple Watch-applikationen ska svara på användarens interaktion.
Endast Apple Watch-programmets storyboard och statiska resurser installeras på Apple Watch. Som jag nämnde för ett ögonblick hanteras ingen av affärslogiken på Apple Watch.
Även om detta kan verka som en stor begränsning, har det verkligen fördelar. Applikationen Apple Watch har till exempel via WatchKit-tillägget tillgång till data för motsvarande iOS-applikation. Apple Watch-applikationen kan också dra nytta av iPhone-enhetens funktioner, till exempel platsövervakning och nätverksanslutning.
Installera en Apple Watch-applikation är trivial. När användaren installerar ett iOS-program som stöder Apple Watch, frågas användaren om den vill installera motsvarande Apple Watch-applikation. Det är så enkelt.
Under Apples huvudnyckel i september har du kanske hört talas om blickar och meddelanden. En Apple Watch-applikation kan presentera sig för användaren på tre sätt.
Den mest uppenbara representationen av en Apple Watch-applikation är när användaren startar ansökningsblanketten på Apple Watch-startskärmen. Detta startar användargränssnittet i Apple Watch-programmet och låter användaren interagera med det.
När det gäller funktionalitet liknar en blick en iOS-förlängning idag. Den visar användarens relevant information om Apple Watch-förlängningen. Huvudskillnaden med en förlängning idag är att blicken är skrivskyddad. Observera också att det är fullt möjligt att skapa en Apple Watch-applikation utan stöd för blickar.
Utöver det vanliga användargränssnittet för lokala och fjärranslutna meddelanden är det möjligt för Apple Watch-applikationer att inkludera ett anpassat användargränssnitt för lokala och fjärranslutna meddelanden. Som med blickar är detta valfritt för Apple Watch-applikationer.
Apple Watch har en liten skärm jämfört med iPhone 6 och 6 Plus. Resultatet är att navigering och användarinteraktion är annorlunda och mer begränsad på Apple Watch.
WatchKit-ramen innehåller för närvarande två typer av navigering, hierarkisk och sidbaserad navigering. Hierarkisk navigering är mycket lik hur UINavigationController
hanterar navigering på iOS medan page-baserade navigering liknar vägen UIPageViewController
låter användaren bläddra mellan sidor med innehåll.
Ju mer du lär dig om och spelar med WatchKit, desto mer märker du hur olika det är från iOS och de paradigmer som definieras av IOS-ekosystemet. Användarinteraktion är till exempel helt annorlunda. WatchKit-ramen tillåter inte komplicerad gestdetektering och det är inte heller möjligt att använda anpassade gestkännare.
Förstå användarinteraktion på Apple Watch är ganska enkelt. Det finns fem typer av användarinteraktion:
Förutom att manipulera innehållet på skärmen kan användaren också interagera med Apple Watch med sin Digital Crown. När det gäller program från tredje part kan Digital Crown endast användas för att bläddra igenom innehåll.
Det finns ett antal begränsningar när det gäller att utveckla Apple Watch-applikationer. Vi har redan lärt oss att användarinteraktion och navigering inte är lika kraftfull på Apple Watch som det är på iOS och det finns några fler restriktioner som du måste vara medveten om.
Animationer, till exempel, är inte lika kraftfulla eller enkla att implementera på Apple Watch. Animationer skapas genom att visa en sekvens av bilder till användaren. Dynamiskt lägga till och ta bort vyer är också något som inte är möjligt på Apple Watch. Faktum är att synpunkter inte existerar på Apple Watch, och detsamma gäller för automatisk layout.
Istället exponerar WatchKit ramverket WKInterfaceController
klass, som hanterar en skärm av innehåll. Kontrollerna som används på Apple Watch är också annorlunda än de som används på iOS. Det finns många likheter, men det kommer att kräva att vissa blir vana vid.
Dessa begränsningar bör inte vara en överraskning. Apple Watch skiljer sig från iOS-ekosystemet och det är förståeligt att mönstren och paradigmerna för varje är olika.
Om du vill veta mer om WatchKit har du ett antal alternativ. Jag rekommenderar att du först tittar på Apples inledande video. Om du vill dyka djupare in i WatchKit-ramen, är WatchKit Programmeringsguiden ditt nästa stopp. Designers kan vara intresserade av att titta på riktlinjerna för Apple Watch Human Interface.
Om du är angelägen om att komma igång, uppmanar jag dig att ladda ner Xcode 6.2 och få dina händer smutsiga med WatchKit. Xcodes simulator stöder Apple Watch så det finns inget som hindrar dig från att skapa din första Apple Watch-applikation idag.
Apple har översvämmade utvecklare med information och resurser att gå igenom. Medan WatchKit-ramverket och dess dokumentation kan ändras, är det redan klart vilka möjligheter Apple Watch öppnar för utvecklare. Mitt förslag är att ladda ner Xcode 6.2 och börja experimentera med WatchKit-ramen idag.