Windows 10 SDK Build 10586 の詳細

※本ブログ記事は building apps for windows "Windows 10 SDK Build 10586" の抄訳です

11 月末に、新しい Windows 10 SDK をリリースしました。このブログ記事では、今回の SDK の更新で導入した、ユニバーサル Windows プラットフォーム (UWP) の強化点について、その一部を詳しく解説していきます。

画像、効果、およびアニメーション

新しい SDK では、Windows.UI.Composition が使用可能になりました。これは、UI の基盤層を直接ターゲットにする、新しい API ファミリです。UI の基盤層は、(XAML などの) フレームワークよりも下位に、そして DirectX グラフィカル層よりも上位に位置します。GitHub で、サンプル一式も公開しています。この新しい API には、以下の機能があります。

  • 3D 座標空間で、軽量な画像を、すばやくグラフィカルにレンダリングすることができます。
  • 拡張性が高く、宣言形の、新しいアニメーション エンジンが実現しました。これは革新的なアニメーションと、キーフレーム アニメーションによるもので、どちらのアニメーションも UI スレッドに依存せず実行されます。
  • UI にリアルタイムに効果を適用できる、高パフォーマンスのシステムを導入しました。画像に適用される効果は、カスタマイズすることも、チェーン化することも、プロパティをアニメーション化することも可能です。

SQLite

SQLite データ アクセス ライブラリが、ユニバーサル Windows プラットフォームに付属するようになりました。これは、あらゆる Windows 10 デバイス ファミリでローカル データにアクセスする必要がある場合に便利です。SQLite が実装する SQL データベース エンジンは、自己完結型で、サーバーを必要としません。また、構成が不要で、トランザクション処理が可能です。開発者は、独自のライブラリをアプリでパッケージ化しなくても、SDK SQLite を参照することができます。UWP でデータにアクセスする方法 (英語) についてのページを SQLite 用に更新しましたので、UWP アプリで SQLite を利用する開発者の方は参考にしてください。

入力とインク

今回の更新では、インクとキーボードも強化しました。

  • Win32 アプリ用ダイレクト インク: インク プレゼンター API は、アプリの DirectComposition ビジュアル ツリーに挿入された InkPresenter オブジェクトを使用することで、Microsoft Win32 アプリが入力、処理、および (標準の/変更済みの) インク入力のレンダリングを管理できるようにします。これで Win 32 アプリが、UWP アプリと同じインクを使用できるようになりました。
  • キーボード デリバリー インターセプター: アプリが、ショートカット キー、アクセス キー (ホット キー)、アクセラレータ キー、アプリケーション キーなど、実際のキーボード入力のシステム処理を上書きすることができます。ただし Secure Attention Sequence (SAS) キーの組み合わせは除外されます。Ctrl キー + Alt キー + Del キーや、Windows キー + L キーなど、Secure Attention Sequence (SAS) キーの組み合わせは今までどおりシステムで処理されることに注意してください。
  • ポインター入力がプロセスの間でチェーン化: この機能は、新しいポインター イベントによって有効になります (UWP アプリと従来の Windows アプリの両方で使用できます)。

より効率的で柔軟な AppX インストール

この更新によって、デバイスにアプリをインストールする際の柔軟性が向上しました。

  • インストール フットプリントの減少: これまで、アプリをインストールするには、AppX パッケージ サイズの 2 倍のディスク領域がデバイスに必要でした。そのため、アプリ パッケージが 1 GB の場合、インストールを完了するには 2 GB 以上のディスク領域が必須でした。ですが、今回の更新により、余分な領域は少しだけでよくなったため、アプリ パッケージが1 GB の場合、ディスクに必要な容量は 約 1.1 GB になります。
  • デスクトップのセカンダリ ドライブ: デスクトップ PC で、セカンダリ ドライブにもアプリをインストールできるようになりました。そのため、ストレージの設定で場所を変更することで、D ドライブにもアプリをインストールできます。モバイルの場合、同様にストレージを設定することで、SD カード (あれば) にアプリをインストールすることが可能です。

XAML の更新

見栄えのよい UI を構築するための最新の API を、SDK に複数追加しました。

  • ジャンプ リスト: Windows.UI.StartScreen.JumpList クラスと Windows.UI.StartScreen.JumpListItem クラスを新しく追加しました。これにより、使用するジャンプ リストの種類の選択、カスタム タスクのエントリ ポイントの追加、カスタム グループの追加を、アプリがプログラムで実行できるようになりました。
  • XAML の更新: 最新の API によって、クリップボード形式をリッチテキストに指定することが可能になりました。また、最新の地図 API によってナビゲーションが強化されました。さらに、いくつかのプリミティブ API によって、既定のメニュー サイズが改善されています。

Bluetooth とネットワーク

最新の SDK では、Bluetooth とネットワークを強化しました。

センサー

Windows 10 では、コンテキスト センシングをいくらか強化しました。たとえば、アクティビティ (歩行中、ジョギング中、サイクリング中、乗車中など) の検出、歩数のカウント、高度や大気圧の検出、デバイスの近くにいるユーザーの有無の感知などの機能です。この概要については、こちらのブログ記事 (英語) を参照してください。また、別のブログ記事 (英語) では、さらに高度なセンサー機能をいくつか解説しています (加速度計センサーの一括処理機能、あらゆるデバイスでアプリの正しい向きを維持しやすくなる ReadingTransform、カスタム センサーを定義および使用する機能など)。これらの変更により、Windows を実行するすべてのデバイスで、あらゆる種類のセンサー API を利用できるようになりました。それに伴い、これらの API の前身である (Lumia 専用の) SensoreCore API の重要性が低くなりました。

11 月の更新はこの流れに沿っていて、センサーから最新の読み取り値を取得することや、センサーをバックグラウンド トリガーとして使用することが可能になっています。詳細については、GitHub にあるマイクロソフトのサンプルリポジトリで多数の ”Devices and Sensors” UWP サンプルが公開されているので、そちらを参照してください。

Windows.Devices.Perception 名前空間

Windows.Devices.Perception 名前空間には、UWP アプリがコンピューター ビジョン カメラの色、深度、および赤外線データにアクセスすることを可能にするクライアント API が含まれています。

デバイス ストレージ

開発者が、ファイルを保存したり、ファイルを特定のユーザーに関連付けたりする作業を、より柔軟に実行できるようになりました。具体的には、次のことが可能になりました。

Windows アプリ認定キット (Windows ACK)

Windows アプリ認定キットを更新し、テストも強化しました。すべての更新項目については、Windows アプリ認定キット ページ (英語) を参照してください。

デザイン キット (Photoshop)

アプリの設計を容易にするため、Adobe Photoshop 用の新しい UWP アプリ デザイン テンプレートを最近追加しました。また、Microsoft PowerPoint テンプレートと Adobe Illustrator テンプレートも更新しました。さらに、PDF 版のガイドの提供を開始しました。詳細については、デザインに関するダウンロード ページを参照してください

それではさっそく、アプリを開発してみましょう。完成したアプリはぜひ @WindowsDev までご紹介ください。バグや問題を見つけた場合は、Windows Feedback ツールか MSDN フォーラムをご利用ください。