AppleのiOS 9、OS X El Capitan向けの新しい開発者リソースは、次世代のアプリとサービスを約束します

AppleのiOS 9、OS X El Capitan向けの新しい開発者リソースは、次世代のアプリとサービスを約束します

アップルは月曜日に開催された毎年恒例の世界開発者会議で、開発者がアップル製品ライン全体にわたって改善されたユーザーエクスペリエンスを提供できるように設計された一連の新技術を発表した。

WWDC の基調講演では、アプリ開発とそれがサポートする製品の形を決めることになる、いくつかの新しい開発者リソースが紹介されました。

ホームキット

Appleは昨年、「HomeKit」と呼ばれる新しいフレームワークを発表しました。これは、スマートデバイス同士がシームレスに通信できるようにすることを目的としています。このフレームワークでは、住宅データにアクセスするためのコンパニオンアプリの代わりに、AppleはSiriバーチャルアシスタントを活用しています。

WWDCで簡単に触れられたように、Siriとの連携により、ユーザーはHomeKit対応家電の「シーン」を作成できるようになります。Siriから音声コマンドを発行することで、Insteon、Lutron、iHome、Philips Hue照明といった最近発表されたHomeKit対応ハードウェアを含む、家庭内の接続デバイスを操作できるようになります。

初期のサポートを示しているサードパーティメーカーはごくわずかで、これはおそらく、Apple のハードウェア暗号化を必要とするプログラムエントリの厳格な要件によるものだが、ソフトウェアエンジニアリング担当 SVP の Craig Federighi 氏は、消費者はまもなく HomeKit 対応の窓用ブラインド、サーモスタット、煙探知機、一酸化炭素センサーなどを目にすることになるだろうと述べている。

金属

昨年発表されたMetalは、iOSのグラフィックパフォーマンスを最大50%向上させるベースレベルのフレームワークです。既報の通り、AppleはOS X 10.11 El Capitanのリリースに合わせてMac版Metalを発表しました。

MetalはOpenCLとOpenGLを単一のAPIに統合し、開発者に極めて柔軟で強力なアプリ開発ツールを提供します。さらに、このフレームワークはグラフィックス処理と演算処理の両方で同じデータリソースを利用しながら、マルチスレッド処理を可能にします。その結果、開発者はプログラミングのハードルを越えることなく、GPU(つまり「メタル」)に可能な限り近づくことができる、非常に効率的なインターフェースが実現します。

Metal を使用すると、基調講演でデモが行われた Epic の Fortnite などのゲームを、iOS で利用できるものと同じ高性能レンダリング エンジンを使用して Mac 向けに開発できるようになります。

検索

iOS 9では、Appleの新しいSearch APIがSpotlightの検索機能とアプリ内コンテンツを連携させます。開発者がSearchを実装することで、アプリのコンテンツをSearchとSiriで見つけられるようにすることができます。

この「ディープリンク」は、Google I/Oで発表された「Now on Tap」機能と機能的に似ています。検索機能もiOSとWebコンテンツを接続します。検索機能に必要なコードの実装には約1時間かかります。標準オブジェクトモデルで処理されるため、検索プログラミングの経験は必要ありません。

スウィフト2.0

おそらく、月曜日の開発者にとって最大の驚きは、Swift がオープンソース プログラミング言語としてバージョン 2.0 に移行するという発表だったでしょう。

SwiftはObjective-Cの代替言語であり、シンプルなアプリから完全なオペレーティングシステムまで、あらゆるものを構築するための、より安全で高速かつ効率的な言語として昨年導入されました。バージョン2.0では、開発者にとって使いやすい多くの変更が加えられています。

  • より優れたエラー処理
  • do、guard、defer、repeat ステートメントなどの新しい制御ロジックによる構文の改善。
  • より高速なコンパイラ
  • 新たな修正声明
  • Markdown構文のサポート
  • プロトコル拡張とデフォルト実装

iOS 9 システムとアプリのサポート

iOS 8はインストールに必要な容量が膨大で、ユーザーがデバイスを最新の状態に保つのを妨げていたことで悪名高かった。基調講演で発表されたように、iOS 9ではAppleはiOSのダウンロードサイズを70%以上も大幅に削減した。必要なストレージ容量が減れば減るほど、iOS 9はユーザーにとってより使いやすくなる。

Appleは、アプリの申請、ストレージ、ダウンロードの最適化にも力を入れています。この取り組みは「App Thinning(アプリシンニング)」と呼ばれ、App Slicing、On Demand Resources、Bitcodeという3つの新しいテクノロジーを活用しています。

現在のiOSアプリは、複数のデバイスで動作させるために、幅広いアセットを1つのバンドルにまとめる必要があります。App Slicingにより、アプリは特定のデバイス構成に必要なアセットのみを使用できるようになります。App Storeは、アプリバンドル内のアセット全体から、ユーザーが特定のデバイスに必要なアセットのみを選択します。

アプリには、常に必要ではないリソースが含まれている場合があります。ODRにより、アプリはチュートリアルなどのリソースをAppleのサーバーにオフロードし、実際に必要な時にダウンロードできるようになります。これにより、アプリのダウンロードサイズが大幅に縮小されます。

最後に、BitcodeはアプリのバイナリのLLVM中間表現です。アプリがApp Storeに提出されると、BitcodeはApp Store経由でコードを自動的に解析し、ソフトウェアアップデートに最適化されているかどうかを確認します。これにより、アプリを将来性ある状態に保ち、再提出の手間を省くことができます。

すべてのwatchOSアプリはBitcodeを使用する必要があります。iOSアプリはBitcodeを一時的にデフォルトで有効にしています。ただし、将来のiOS開発では、すべてのアプリの申請にBitcodeが必須となります。