Appleが来たるべきApple WatchのためのSDK、WatchKitのリリースを発表した。このSDKを使うことによって、開発者は2015年初頭にデバイスが登場する前に、自分のiOSアプリにWatchサポートを追加することができる。
2014年6月のWWDCでは、Apple Watchが新しいWatch OSで動くことが発表された。この時点で新しいOSの詳細は限られていたが、SDKのリリースによってプラットフォームの能力がより明らかになった。
既存のアプリケーションは3つの拡張ポイント経由でWatchKitと統合できる。
- グランス (Glances) - アプリから注目するデータのクイックビューを提供する。通知と違って、グランスはPullベースだ。たとえば、情報を探しているユーザによってトリガーされる。
- 通知 (Notifications) - iOSと同様、Pushベースのアラートをデバイスに配信する。通知はショートルックとロングルックに分けられる。ショートルック通知はロングルック通知の短縮版。たとえば、デバイスがロックされているときなど、プライバシーセンシティブなシナリオでは、ショートルック通知が表示される。
- Watch App UI - Apple WatchアプリはiPhoneで動作する親アプリと密接に結びついている。親アプリはiPhoneにインストールされるWatchアプリバンドルを含んでおり、ここにアプリのリソース、すなわちストーリーボードと関連するイメージファイルが含まれている。Watch Appは複雑な処理をすべて、 WatchKit SDKの拡張API経由でiPhoneアプリに任せる。
WatchKit APIはAppKit APIとよく似ているが、パフォーマンス関連の制約がある。WatchKitを自分のアプリに統合する開発者は、次のような違いを意識しなくてはならない。
- インターフェイスレイアウト - Watch AppユーザインターフェイスではAutoLayoutがサポートされていない。代わりにAppleは新しい「グループ」レイアウトシステムを導入している。これはAndroidのLinearLayoutと同様、水平、垂直方向のコントロールのスタッキングをサポートする。
- カスタムジェスチャー - Appleは開発者がデバイスによってサポートされたデフォルトのジェスチャー(スワイプ、タップ、ロングプレス)だけを使うよう制限している。
- イメージ制約 - アプリケーションはWatchに20MB分のリソースをストアできる。iPhoneからの取得を減らすために、Appleはすべての画像をWatchアプリバンドルに置くことを推奨している。
- ネイティブアプリのサポート - 開発者は既存のiOSアプリにWatchアプリをバンドルする必要がある。しかし発表の中で、Appleは完全にネイティブなアプリを「来年のいつか」サポートすることをほのめかした。
SDKとともに、開発者が自分のアプリにWatchサポートを追加するのに役立つよう、Appleはたくさんのリソースをリリースした。
- WatchKit Programming Guide - WatchKitアプリおよび機能拡張のプロジェクト構造、アーキテクチャ、APIの概要を説明する。
- Human Interface Guidelines - デバイスによってサポートされるUI要素とナビゲーションフローを説明する。
- WatchKit Catalog Sample - 通知とグランス(glances)の使い方を示すサンプルApple Watchアプリ。また利用可能なUIコントロールと新しいグループレイアウトシステムもデモする。
今回のリリースに対するiOS開発コミュニティの反応は好意的だった。特に、多くの重要人物がプラットフォームの能力に驚きを表明した。David Smith氏とCraig Hockenberry氏の両名は、キーフィーチャーとしてカスタムアプリのサポートを取り上げた。
AppleのiOS Developer ProgramメンバーはiOS Developer CenterからWatchKit SDKにアクセスすることができる。SDKはiOS 8.2 betaとセットになっており、Xcode 6.2 betaも含まれている。