In november deed Apple wat het beloofde en bracht WatchKit uit aan externe ontwikkelaars. Niet alleen bracht het WatchKit uit, het gaf ontwikkelaars ook een aantal hulpmiddelen, waaronder Human Interface Guidelines voor Apple Watch-applicaties. In dit artikel zal ik u vertellen wat u moet weten over WatchKit- en Apple Watch-toepassingen.
Je zou kunnen denken dat WatchKit een raamwerk is dat alles bevat wat je nodig hebt om een Apple Watch-applicatie te maken, maar dat is maar een deel van het verhaal. Het verhaal is een beetje ingewikkelder, omdat een Apple Watch-toepassing niet is wat je denkt dat het is.
WatchKit is een integraal onderdeel van de Apple Watch-ervaring voor toepassingen van derden. Het bevat de klassen voor het maken van Apple Watch-toepassingen en het zorgt ervoor dat een Apple Watch-toepassing kan communiceren met de bijbehorende WatchKit-extensie. Wacht. Wat? Heb ik je niet verteld dat het verhaal een beetje ingewikkeld is?
Een van de belangrijkste concepten om te begrijpen over Apple Watch-applicaties is dat een Apple Watch-applicatie een iPhone vereist om zijn werk te doen. Om dit concept te begrijpen, moeten we de architectuur van een Apple Watch-toepassing van naderbij bekijken.
Een Apple Watch-toepassing van derden kan alleen zijn werk doen als de Apple Watch van de gebruiker is gekoppeld aan de iPhone. De Apple Watch en de iPhone praten met elkaar via Bluetooth en het WatchKit-framework. Het volgende diagram vat deze architectuur samen.
Zoals je in het bovenstaande diagram kunt zien, is het WatchKit-framework verantwoordelijk voor de communicatie tussen de Apple Watch en de gekoppelde iPhone. Maar hoe werkt dit?
Simpel gezegd, Apple Watch is alleen verantwoordelijk voor:
De toepassing Apple Watch in het bovenstaande diagram bevat het storyboard van de toepassing en de statische bronnen die de toepassing Apple Watch nodig heeft om de gebruikersinterface te presenteren.
De WatchKit-extensie leeft en draait op de iPhone en maakt deel uit van de iOS-applicatie die de gebruiker op hun iPhone heeft geïnstalleerd. De vorige zin raakt een belangrijk detail aan, dat wil zeggen dat een Apple Watch-toepassing niets meer is dan een uitbreiding van een bestaande iOS-applicatie. Laten we dit in meer detail verkennen.
U vraagt zich misschien af wat een Apple Watch-toepassing is en hoe u er een kunt maken. Strikt genomen is een Apple Watch-toepassing het onderdeel dat op Apple Watch wordt uitgevoerd. Een Apple Watch-applicatie presenteert de gebruikersinterface en onderschept aanraakgebeurtenissen.
Dit betekent dat een toepassing Apple Watch onbruikbaar is zonder het gekoppelde apparaat waarop de bijbehorende WatchKit-extensie wordt uitgevoerd. De Apple Watch-applicatie en WatchKit-extensie maken deel uit van de iOS-applicatie die de gebruiker op zijn iPhone installeert.
Zoals ik eerder al zei, is het essentieel om te begrijpen dat Apple Watch-applicaties van derden een iPhone nodig hebben en onbruikbaar zijn zonder een gekoppelde iPhone waarop de bijbehorende WatchKit-extensie leeft.
Het goede nieuws is dat het WatchKit-framework zorgt voor de subtiele details. Het koppelt automatisch iPhone en Apple Watch en behandelt de communicatie tussen de Apple Watch-applicatie en de WatchKit-extensie. Communicatie tussen iPhone en Apple Watch wordt afgehandeld door Bluetooth.
Wanneer de gebruiker een Apple Watch-applicatie op het startscherm start, lanceert de gekoppelde iPhone de WatchKit-extensie voor die toepassing. Elke gebruikersinteractie wordt doorgestuurd naar de WatchKit-extensie en het is de verantwoordelijkheid van laatstgenoemde om te beslissen hoe de Apple Watch-app moet reageren op gebruikersinteractie.
Alleen het storyboard en de statische bronnen van de Apple Watch-app zijn op de Apple Watch geïnstalleerd. Zoals ik zojuist al zei, wordt geen van de bedrijfslogica afgehandeld op de Apple Watch.
Hoewel dit een grote beperking lijkt, heeft het zeker voordelen. De toepassing Apple Watch heeft bijvoorbeeld via de WatchKit-extensie toegang tot de gegevens van de bijbehorende iOS-applicatie. De Apple Watch-applicatie kan ook profiteren van de apparaatmogelijkheden van de iPhone, zoals locatiemonitoring en netwerkconnectiviteit.
Het installeren van een Apple Watch-applicatie is triviaal. Telkens wanneer de gebruiker een iOS-toepassing installeert die Apple Watch ondersteunt, wordt de gebruiker gevraagd of hij de overeenkomstige Apple Watch-applicatie wil installeren. Het is zo simpel.
Tijdens de keynote van Apple in september, heb je misschien wel eens gehoord van blikken en meldingen. Een Apple Watch-toepassing kan op drie manieren aan de gebruiker worden gepresenteerd.
De meest voor de hand liggende weergave van een Apple Watch-toepassing is wanneer de gebruiker het aanvraagformulier op het startscherm van Apple Watch start. Hiermee wordt de gebruikersinterface van de Apple Watch-toepassing gestart en kan de gebruiker ermee communiceren.
Qua functionaliteit lijkt een blik op een hedendaagse uitbreiding op iOS. Het toont de gebruiker relevante informatie over de Apple Watch-extensie. Het grootste verschil met een huidige extensie is dat blikken alleen-lezen zijn. Merk ook op dat het perfect mogelijk is om een Apple Watch-applicatie te maken zonder ondersteuning voor blikken.
Naast de standaardgebruikersinterface van lokale en externe meldingen, is het mogelijk voor Apple Watch-toepassingen om een aangepaste gebruikersinterface op te nemen voor lokale en externe meldingen. Net als met blikken is dit optioneel voor Apple Watch-toepassingen.
De Apple Watch heeft een klein scherm vergeleken met de iPhone 6 en 6 Plus. Het resultaat is dat navigatie en gebruikersinteractie anders en beperkter is bij Apple Watch.
Het WatchKit-raamwerk omvat momenteel twee soorten navigatie, hiërarchische en pagina-gebaseerde navigatie. hiërarchische navigatie lijkt veel op hoe UINavigationController
behandelt navigatie op iOS terwijl Op pagina's gebaseerde navigatie is vergelijkbaar met de manier UIPageViewController
laat de gebruiker scrollen tussen pagina's met inhoud.
Hoe meer je leert over en speelt met WatchKit, hoe meer je merkt hoe anders het is van iOS en de paradigma's gedefinieerd door het iOS-ecosysteem. Gebruikersinteractie is bijvoorbeeld heel anders. Het WatchKit-framework staat geen complexe gebarenherkenning toe en het is ook niet mogelijk om aangepaste gebarenherkenners te gebruiken.
Het begrijpen van gebruikersinteractie op Apple Watch is vrij eenvoudig. Er zijn vijf soorten gebruikersinteractie:
Naast het manipuleren van de inhoud op het scherm, kan de gebruiker ook communiceren met de Apple Watch met behulp van de Digital Crown. Met betrekking tot toepassingen van derden kan de Digital Crown alleen worden gebruikt om door inhoud te bladeren.
Er zijn een aantal beperkingen als het gaat om het ontwikkelen van Apple Watch-applicaties. We hebben al geleerd dat de gebruikersinteractie en -navigatie niet zo krachtig is op Apple Watch als op iOS en er zijn een paar meer beperkingen waar je op moet letten.
Animaties zijn bijvoorbeeld niet zo krachtig of eenvoudig te implementeren op Apple Watch. Animaties worden gemaakt door een reeks afbeeldingen aan de gebruiker weer te geven. Het dynamisch toevoegen en verwijderen van weergaven is ook iets dat niet mogelijk is op Apple Watch. In feite zijn weergaven niet aanwezig op Apple Watch en hetzelfde geldt voor automatische lay-out.
In plaats daarvan stelt het WatchKit-framework de WKInterfaceController
klasse, die een scherm met inhoud beheert. De bedieningselementen die op Apple Watch worden gebruikt, zijn ook anders dan die op iOS worden gebruikt. Er zijn veel overeenkomsten, maar het zal wel even wennen zijn.
Deze beperkingen zouden geen verrassing mogen zijn. Apple Watch verschilt van het iOS-ecosysteem en het is begrijpelijk dat de patronen en paradigma's voor elk verschillend zijn.
Als je meer wilt weten over WatchKit, dan heb je een aantal opties. Ik raad je aan eerst de introductievideo van Apple te bekijken. Als u dieper in het WatchKit-framework wilt duiken, is de WatchKit-programmeerhandleiding uw volgende stop. Ontwerpers zijn misschien geïnteresseerd in het bladeren door de Apple Watch Human Interface Guidelines.
Als je graag wilt beginnen, moedig ik je aan om Xcode 6.2 te downloaden en je handen vuil te maken met WatchKit. De simulator van Xcode ondersteunt Apple Watch, dus er is niets wat je ervan weerhoudt om vandaag je eerste Apple Watch-applicatie te maken.
Apple heeft ontwikkelaars overspoeld met informatie en bronnen om doorheen te gaan. Hoewel het WatchKit-framework en de documentatie ervan onderhevig zijn aan verandering, is het al duidelijk welke mogelijkheden Apple Watch opent voor ontwikkelaars. Mijn suggestie is om Xcode 6.2 te downloaden en begin vandaag met het WatchKit-framework te experimenteren.