Build 2016: UWP App Modeの概要

MicrosoftでProgram Managerを務めるAndrew Clinick氏が、Build 2016でUWP App Modelの概要について紹介した。今年のハイライトのひとつは、デスクトップアプリのUWPアプリへの変換、コードネームProject Centennialだ。

Andrew氏は最初に、UWP App Modelが何であるか述べた。UWP App ModelはWindowsにおける全てのアプリのライフサイクルを定義する。これは、IoT、モバイル、PC、XBox、Hololens、全てのデバイスで同じだ。つまり、別のタイプのデバイスをサポートするために、アプリケーションを書き直すは必要ないということだ。

アプリのライフサイクルには以下が含まれる。

  • インストール
  • ランタイム環境
  • リソース管理
  • アップデート
  • データモデル
  • アンインストール

プレゼンテーションでは、インストールと拡張性に関するいくつかの発表と機能改善も紹介された。

Project Centennial
Project Centennialは、既存のアプリをUniversal Windows Platform上で動くように変換する。以下がプロジェクトの主たる目標だ。

  • 移行の間、現在のWin32/.NETコードを変更なしに動かす
  • Win 10とWin 7の両方をターゲットに、共通のコードベースをメンテナンスする
  • UWPへの漸進的な移行を可能にする
  • 現在のアプリのエコシステムを活用する

プレビューとして、デスクトップからUWPへのコンバータが公開されている。

Desktop Apps Installer
UWPチームはデスクトップアプリのインストールにまつわる問題を修正しようとしている。

  • DLL地獄をなくす、レジストリ膨張をなくす
  • クリーンなアンインストール
  • オートマチック/サイレント・アップデート

オートマチック/サイレント・アップデートには一部妥協が必要だ。アプリケーションを自動的にアップデートするためには、ユーザとして実行する必要があるだろう。リブートが必要なアプリは、UWPによってサポートされないだろう。

App Extensibility Framework
App Extensibility Frameworkは、アプリにプラグインを追加するモデルを提供する。アプリケーションはコントラクトを発行し、エクステンションがそれを実装する。エクステンションはストアを使ってインストールすることができる。フレームワークはアプリ内プラグイン管理のためのUIも提供する。App Extensibility Frameworkは、MicrosoftのEdgeブラウザで使われているのと同じフレームワークだ。

詳しくは、Channel 9でUWPに関するプレゼンテーションを見てみよう。