月曜日に開催された年次 World Wide Developers Conference で、Apple は開発者が Apple 製品ライン全体にわたって改善されたユーザー エクスペリエンスを提供できるように設計された多数の新技術を発表しました。
WWDC の基調講演では、アプリ開発とそのサポート製品を間もなく形作ることになる多くの新しい開発者リソースが強調されました。
ホームキット
昨年、Apple は、スマート デバイスが相互に通信できるシームレスな方法を可能にするように設計された「HomeKit」と呼ばれる新しいフレームワークを導入しました。 Apple は、フレームワーク内の住宅データにアクセスするためのコンパニオン アプリの代わりに、Siri 仮想アシスタントに依存しています。
WWDC で簡単に言及されましたが、Siri の統合により、ユーザーは HomeKit 対応アプライアンスの「シーン」を作成できます。 Siri を介して音声コマンドを発行することで、ユーザーは家庭内の接続されたデバイスを制御できます。最近発表されたInsteon、Lutron、iHome などの HomeKit 互換ハードウェアPhilips Hue 照明。
おそらくハードウェア暗号化を必要とするプログラムエントリーに対する Apple の厳格な要件のため、初期サポートを示しているサードパーティメーカーはわずか数社だけだが、ソフトウェアエンジニアリング担当上級副社長のクレイグ・フェデリギ氏は、消費者は間もなく HomeKit と互換性のあるブラインド、サーモスタット、煙感知器などを目にすることになるだろうと述べた。一酸化炭素センサーなど。
金属
昨年発表された Metal は、グラフィックス パフォーマンスを最大 50% 向上させる基本レベルのフレームワーク、つまり iOS です。既報の通り、Apple発表されたMetal for Mac と OS X 10.11 El Capitan の導入。
Metal は、OpenCL と OpenGL を単一の API に結合し、開発者がアプリ作成のための非常に柔軟で強力なツールを提供できるようにします。さらに、このフレームワークは、マルチスレッドを有効にしながら、グラフィックスと計算操作の両方に同じデータ リソースを利用します。その結果、開発者がプログラミングの面倒な作業をすることなく、GPU (「メタル」) にできるだけ近づくことができる、非常に効率的なインターフェイスが実現しました。
Metal を使用すると、基調講演中にデモが行われた Epic の Fortnite などのゲームを、iOS で利用できるのと同じ高性能レンダリング エンジンを使用して Mac 向けに開発できるようになります。
検索
iOS 9 では、Apple の新しい検索 API により、Spotlight の検索機能がアプリ内コンテンツとリンクされます。開発者が検索を実装すると、アプリのコンテンツを検索と Siri で検出できるようになります。
この「ディープリンク」は、Google I/Oで発表された「Now on Tap」機能と機能的に似ています。検索は iOS と Web コンテンツも結び付けます。発見可能性に必要なコードの実装には約 1 時間かかりますが、標準オブジェクト モデルで処理されるため、事前の検索プログラミングの経験は必要ありません。
スイフト2.0
おそらく月曜日の開発者にとって最大の驚きは、Swift がオープンソース プログラミング言語として 2.0 のバージョンに入るという発表でした。
Swift は Objective-C の後継であり、単純なアプリから完全なオペレーティング システムまであらゆるものを構築するための、より安全で高速かつ効率的な言語として昨年導入されました。バージョン 2.0 には、次のような開発者向けの多くの変更が加えられています。
- エラー処理の改善
- do、guard、defer、repeat ステートメントなどの新しい制御ロジックによる構文の改善。
- より高速なコンパイラ
- 新しい修正ステートメント
- マークダウン構文のサポート
- プロトコル拡張とデフォルト実装
iOS 9 システムとアプリのサポート
iOS 8 は、インストールに必要な容量が多く、ユーザーがデバイスを最新の状態に保つことができないことで悪名高いものでした。基調講演で発表されたように、Apple は iOS 9 で iOS のダウンロード サイズを 70% 以上大幅に削減しました。必要なストレージ容量が少ないほど、ユーザーにとって iOS 9 はよりアクセスしやすくなります。
Apple はまた、アプリの送信、ストレージ、ダウンロードを最適化するために多大な努力を払ってきました。この取り組みはアプリ シニングとして知られており、アプリ スライシング、オンデマンド リソース、ビットコードという 3 つの新しいテクノロジーが使用されています。
現在の iOS アプリは、複数のデバイスで実行するために、幅広いアセットを 1 つのバンドルにグループ化する必要があります。アプリのスライスにより、アプリは特定のデバイス構成に必要なアセットのみを使用できるようになります。 App Store は、アプリ バンドル内のアセット全体から、ユーザーが特定のデバイスに必要なアセットのみを選択します。
アプリには、常に必要とされるわけではないリソースが含まれている場合があります。 ODR を使用すると、アプリはチュートリアルなどを Apple のサーバーにオフロードし、実際に必要なときにダウンロードできるようになります。これにより、アプリのダウンロード量を大幅に減らすことができます。
最後に、ビットコードはアプリのバイナリの LLVM 中間表現です。アプリが App Store に送信されると、Bitcode は App Store 経由でコードを自動的に分析し、ソフトウェア アップデート用に最適化されていることを確認します。これは、アプリを「将来も保証」するのに役立ち、アプリを再送信する必要がなくなります。
すべての watchOS アプリはビットコードを使用する必要があり、iOS アプリではデフォルトで一時的にビットコードが有効になっています。ただし、将来の iOS 開発では、すべてのアプリの送信にビットコードが必要になります。