Windows 10はPCとスマホで同じアプリがなぜ動く?――「UWP」の理想と現実鈴木淳也の「Windowsフロントライン」(3/4 ページ)

» 2015年06月24日 05時15分 公開
※本記事はアフィリエイトプログラムによる収益を得ています

Windows 8.1とWindows 10で異なるアプリ配布パッケージの仕組み

 意外と見過ごされがちなのだが、最後にUWPにおいてアプリの配布方式である「パッケージ」に触れて今回の話題を締めたい。

 過去に『PCでもスマホでもタブレットでも動く――Windowsの秘策「ユニバーサルアプリ」とは?』の記事で解説したが、Windows 8/8.1とWindows Phone 8.1では「AppX」というパッケージファイル形式を採用している。Androidでは「.apk」、iOSでは「.ipa」のファイル形式で知られるスマートフォンアプリのパッケージだが、AppXも同様に「.appx」の拡張子のついた単一ファイルによる配布パッケージとなる。

 実際には本体バイナリとリソースを含む複数のファイルをZIPファイルで固めただけだが、旧式のWindows OSでは共有ファイルのほか、レジストリに“ゴミ”が残ることで、アンインストールしてもOSが一方的に“重くなる”だけという「Windows ROT」現象が問題になっており、Windows 8以降ではAppXを導入して他のスマートフォンOSを見習ったアプリ管理方式を採用することとなった。

 さて、AppXと単純には書いているが、実際にはAppXだけでも「Windows Phone 8.1用」「Windows 8.1(8)用」「Windows 10用」の3種類が存在する。これにパッケージ形式として、Windows Phone 7/8以前の「XAP」形式も加えれば、Windowsストアで流通可能な配布パッケージは4種類存在することになる。

AppXの種類 Windows 10の時代になり、アプリ配信パッケージのAppXも変化している

 注意点は2つあり、Windows 8/8.1とWindows 10のAppXは異なること、さらにWindows 8.1でもPhone用とPC用は別ということだ。

 Windows 8.1とWindows Phone 8.1はユニバーサルアプリという名称でアプリの共通化が図られているものの、実際には「2つの異なるプラットフォーム向けに異なるバイナリとリソース」がプログラムコードのコンパイル時に用意され、アプリストア登録を経てMicrosoft側がターゲットとなる配信デバイスに合わせて異なるパッケージをダウンロードさせることで成り立っている。

 単一パッケージとなるWindows 10のUWPとは異なり、Windows 8.1時代は「あくまでプラットフォーム単位で別々」というわけだ。

 Windows 8.1時代はターゲットとなるデバイスのプラットフォーム(PCかスマートフォンか)や環境(言語など)に応じてファイルを組み替えてパッケージを配信していた(「バンドル形式」と呼ぶ)。

 Windows 10ではさらに複雑となり、拡大したプラットフォームの種類だけでなく、プロセッサの種類やフォアグラウンド動作で利用可能なメモリサイズ、DirectXのバージョンや有無なども含め、配信されるパッケージを変更するパラメータが複数存在する。

 配信されるパッケージは「バージョン管理」形式で選ばれるようになっており、基本的には「最新バージョン」のパッケージが落ちてくるようになっているが、ここにOSバージョンやプロセッサパワー、メモリサイズといった条件を加えることで“異なるバージョン”のパッケージがダウンロードされるよう調整できる。

Windows 10 Packages Windows 10におけるAppXのWindowsストアパッケージ配信方式
Package selection 複数のパラメータで条件分岐が可能であり、これで最適なバージョンのパッケージを配信できる

 この仕組みを利用することで、「高性能なゲーミングPCにはフルパッケージを配信し、同一名称のスマートフォン向けアプリには機能とパッケージサイズを削減したアレンジ版を別バージョンで配信」といったことが可能になる。

 もちろん、動作の最低要件を設定しつつ、それ以下のスペックのPCに適合したバージョンのパッケージをストアに登録しなければ、「あなたのPCは動作に必要な機能を満たしていません」といった具合に最初からダウンロードさせないこともできるだろう。

 UWPにおけるAppXのパッケージサイズは従来の4Gバイトから150Gバイトまで一気に拡張されており、本格的なゲームを中心にこういったケースが増えてくると思われる。

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月18日 更新
  1. ついに8K対応した「Insta360 X4」の画質をX3と1インチ360度版で比較 今買うべき全天球カメラだと確信した (2024年04月16日)
  2. バッファロー製Wi-Fiルーターに脆弱性 対象機種は今すぐファームウェア更新を (2024年04月17日)
  3. 「JBL GO 4」でBluetoothスピーカーデビュー! 累計出荷台数5700万台を突破した人気製品の最新モデルを試す (2024年04月17日)
  4. AI対応でCore Ultraよりも高いパフォーマンスをアピール! 企業PC向け「Ryzen PRO 8000シリーズ」登場 (2024年04月16日)
  5. SwitchBotのミニプラグに不具合 「断続的にオン/オフを繰り返す、異音」などで該当製品の交換を呼びかけ (2024年04月17日)
  6. Synology「BeeStation」はNASより便利な一面も 家族の“秘密”も守れるストレージ、共有リンクや写真管理もある (2024年04月16日)
  7. 「ASUS ZenScreen MB16QHG」は従来モデルの弱点を解消した高評価の16型モバイルディスプレイだ (2024年04月16日)
  8. あなたのPCのWindows 10/11の「ライセンス」はどうなっている? 調べる方法をチェック! (2023年10月20日)
  9. 無線LANルーター「Aterm」シリーズの一部に複数の脆弱性 設定変更や買い替えをアナウンス (2024年04月11日)
  10. NVIDIA、Ampereアーキテクチャを採用したシングルスロット設計のデスクトップ向けGPU「NVIDIA RTX A400/A1000」を発表 (2024年04月17日)
最新トピックスPR

過去記事カレンダー