PCでもスマホでもタブレットでも動く――Windowsの秘策「ユニバーサルアプリ」とは?鈴木淳也の「まとめて覚える! Windows 8.1 Update」(3/3 ページ)

» 2014年05月07日 13時00分 公開
[鈴木淳也,ITmedia]
前のページへ 1|2|3       
※本記事はアフィリエイトプログラムによる収益を得ています

効率的にアプリを配布するパッケージの仕組み

 通常、Windowsストアのようなアプリストアで配布されるアプリは「パッケージ」という単一ファイルの形で提供されている。実際には複数のファイルを圧縮して固めているだけなので、“見かけ上は単一のファイル”というだけなのだが、共有DLLや設定ファイル等でアンインストールしても大量の“ゴミ”が残っていた従来のインストール方式に比べればシンプルで配布も行いやすい。

APPXパッケージにおける“バンドル”の仕組み

 Windowsでは8/8.1以降にModern UIアプリに関して、このパッケージによるアプリの配布方式が採用されている。Windows Phoneでは7/8以降にストアアプリでパッケージによる配布が行われるようになった。前者は拡張子から「APPX」形式と呼ばれ、後者は「XAP」形式と呼ばれている。APPXには“バンドル型”と呼ばれるものもあり、具体的には2種類のAPPXが存在する。

 Windows Phone 7/8ではXAPのみのサポートとなるが、Windows Phone 8.1ではXAPと2種類のAPPXの計3種類のパッケージ方式をサポートしている。XAPには実行環境に応じて複数のバージョン形式を含むことが可能で、1つのXAPでWindows Phone 7/8/8.1に対応できるが、もし8.1のみをターゲットにしたXAPの場合は旧バージョンでは実行できない(Silverlightの機能に依存するため)。

 APPXにおけるバンドル型とは、アプリ本体の実行ファイルに加え、いくつかファイル(データ)が付属してくる状態を意味している。

ターゲットとするデバイスのDPIスケーリングによって“バンドル”する画像ファイルを別途用意する

 例えば世界展開を前提にしたアプリなどでは、日本語やドイツ語など各ローカル市場ごとの言語パックを含んでいる場合があるだろう。あるいは異なるDPIごとに高解像度/低解像度のアイコンファイルを複数保持するケースも考えられる。

 これらをすべてまとめて配布してしまえば楽なのだが、アプリによってはパッケージのサイズが非常に大きくなり、ダウンロード容量が増え、デバイスのストレージ容量を圧迫する原因ともなる。

 そのため、アプリストアからのダウンロードの際にターゲットとなるデバイスの属性(言語や解像度情報など)を判断し、必要なファイルのみを再パッケージングして配布する。こうしてメインファイルと属性ファイルをパッケージにする形態を、APPXにおけるバンドル型と呼ぶ。こうした仕組みはスマートフォンやタブレット等で特に重要となる。Microsoftによれば、この仕組みで最大数割程度のパッケージサイズの差が出るという。

 以上を踏まえ、アプリストアを経由したパッケージの差異をまとめたのが下表だ。

プラットフォームと対応するパッケージの機能

 基本的にAPPX形式のほうが、できることが多くなっている。表中には表記がないが、XAPの最大パッケージサイズが1Gバイトなのに対し、APPXでは4Gバイトとスケーラビリティの面で優位だ。そして、外部SDメモリーカードをAPPXパッケージの格納領域とできるのは、Windows Phoneでも8.1のみの機能となっている(格納の際には暗号化が行われる)。

 一方で、この機能はまだWindows 8.1では対応しておらず、おそらくは今後のUpdateでの改良ポイントの1つになるとみられる。


「鈴木淳也の「まとめて覚える! Windows 8」」バックナンバー


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

最新トピックスPR

過去記事カレンダー