ユニバーサルWindowsアプリ開発の勧め特集:Windowsストアアプリ開発最新情報(Build 2014より)(1/4 ページ)

Build 2014の内容からユニバーサルWindowsアプリ開発に絞って紹介。「Windowsストアアプリの新規開発は、ユニバーサルWindowsアプリにしない理由がない」!?

» 2014年04月14日 16時55分 公開
[山本康彦(http://www.bluewatersoft.jp/),BluewaterSoft]
特集:Windowsストアアプリ開発最新情報
Insider.NET

               

「特集:Windowsストアアプリ開発最新情報」のインデックス

連載目次

 WindowsストアアプリとWindows Phoneアプリの開発方法に、一大転機が訪れた。

 読者の多くは、すでにその名前をお聞き及びだろう。米国時間で4月2〜4日に開催された「Build 2014」初日のキーノートで発表された「ユニバーサルWindowsアプリ」である(次の画像)。従前の例にたがわず今年のBuildでも、目のくらむような新技術の発表が相次いだが、その中から本稿ではユニバーサルWindowsアプリ開発に絞って紹介する。

 なお、本稿では紛らわしくない限り、次の略称を用いる。

  • Windows: Windows 8.1とWindows RT 8.1(2014年4月のアップデート(後述)が適用済みのもの)
  • Phone: Windows Phone 8.1
ユニバーサルWindowsアプリが公表されたBuild 2014のキーノートの光景 ユニバーサルWindowsアプリが公表されたBuild 2014のキーノートの光景
Windowsストアアプリ「//BUILD」で再生中のキーノート動画をキャプチャしたもの(画像右上のスライドの部分を見やすいように画像処理してある)。なお、このアプリでは、ほとんどのセッションの動画を見たり、セッションで使われた多くのスライド資料をダウンロードしたりできる。

事前準備

 本稿に掲載したコードを試すには、次の環境が必要である。

  • SLAT対応のPC*1
  • 2014年4月のアップデート*2適用済みの64bit版Windows 8.1(以降、Win 8.1)Pro版以上
  • Visual Studio 2013 Update 2*3適用済みのVisual Studio 2013(以降、VS 2013)*4

*1 SLAT対応ハードウェアは、Windows Phone 8.1エミュレーターの実行に必要だ。ただし未対応でも、ソースコードのビルドは可能だ。SLAT対応のチェック方法はMSDNブログの「Windows Phone SDK 8.0 ダウンロードポイント と Second Level Address Translation (SLAT) 対応PCかどうかを判定する方法」を参照。なお、SLAT対応ハードウェアであっても、VM上ではエミュレーターが動作しないことがあるのでご注意願いたい。

*2 事前には「Windows 8.1 Update 1」と呼ばれていたアップデート。スタート画面の右上に検索ボタンが(環境によっては電源ボタンも)表示されるようになるので、適用済みかどうかは簡単に見分けられる。ちなみに公式呼称は「the Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 update that is dated April, 2014」というようである。

*3 本稿執筆時点ではRCが公開されている。Visual Studio 2013 Update 2 RCは、マイクロソフトのダウンロードページから誰でも入手できる。

*4 本稿に掲載したコードを試すだけなら、無償のExpressエディションで構わない。Visual Studio Express 2013 for Windows(製品版)はマイクロソフトのページから無償で入手できる。Expressエディションはターゲットプラットフォームごとに製品が分かれていて紛らわしいが、Windowsストアアプリの開発には「for Windows」を使う(「for Windows Desktop」はデスクトップで動作するアプリ用)。


ユニバーサルWindowsアプリの特徴

 Buildのキーノートは全世界が注目する発表であるため、開発者向けというよりは一般ユーザーやIT企業の中枢人物それにマスコミ向けにインパクトが届くような表現になる。ユニバーサルWindowsアプリについてのメッセージは次のようだ。

ユニバーサルWindowsアプリ=WindowsとPhoneに共通の(=universal)アプリ

 一般向けの説明としては、その通りだ。「Windows用のストアアプリとPhone用のアプリは同じものですよ、だから片方のデバイス用にアプリを購入したら他方でもダウンロードできますよ」というアピールだ(次の画像)。なお、ユニバーサルWindowsアプリは、XboxやIoT(=Internet of Things、「モノのインターネット」)にまで拡張していくことがキーノートで触れられたが、本稿ではWindowsとPhoneだけを(すなわち、開発者にとってすでに可能になったことだけを)扱う。

Build 2014キーノートの一節「1回買えば、どこでも使える」 Build 2014キーノートの一節「1回買えば、どこでも使える」
前出の初日キーノートの動画より(画像処理をして輪郭とコントラストをはっきりさせてある)。
Phoneで購入したら(左側)、Windowsでもインストールできる(右側)という説明。
このスライドをよく見ると「あなた(=開発者)は、カスタマーが『1回買うだけで、どこでも使える』ようにできる」と書いてある。「可能(can)」であって、自動的にそうなるのではないということだ。

 しかしながら、例えば公式リリースには「Windows Phone 8.1とWindows 8.1 Updateに共通の体験を提供できます」と書かれている。「共通のアプリ」ではなく「共通の体験」を提供できる、と。この微妙な違いは何だろうか? それを知るためにも、ユニバーサルWindowsアプリの特徴をもう少し細かく見ておこう。

エンドユーザー視点からのメリット

 主にエンドユーザーから見たユニバーサルWindowsアプリのメリットは次のようだ(セッション2-512の資料より)(次の画像も参照)。

  • WindowsとPhoneを横断するアプリとアプリ内課金(=IAP: In App Purchase)の権利の共有
  • WindowsとPhoneを横断するユーザーデータのローミング
  • 単一の通知チャンネル(ライブタイルなどへのプッシュ通知の統合)

 上記の特徴は、エンドユーザーにはWindowsとPhoneのアプリは同じものに見える、ということである。「共通のアプリ」とは、エンドユーザーに対するメッセージなのだ。

ユニバーサルWindowsアプリの特徴(エンドユーザー視点) ユニバーサルWindowsアプリの特徴(エンドユーザー視点)
セッション2-512「Store and Dev Center - Windows & Windows Phone」の動画より(画像処理をして輪郭とコントラストをはっきりさせてある)。
一番下に、ここでいうユニバーサルアプリはVisual Studioのユニバーサルプロジェクトとは違うものだ、という注意書きがある。ユニバーサルWindowsアプリとは、開発者レベルだけの話ではなく、ストアのサポートなども含めていうのだということである。

開発者視点からのメリット

 上述したエンドユーザー視点からのメリットの他に、開発者視点では次のようなメリットがある。

  • WindowsとPhoneでコードの互換性が飛躍的に向上した
  • WindowsとPhoneに共通するコードの開発が楽になった(共有プロジェクト、PCL(ポータブルクラスライブラリ)の進化)
  • (エンドユーザー視点にも書いたが)WindowsとPhone間のローミング、同一チャネルでのプッシュ通知

 ひと言でいうと「WindowsとPhoneのアプリをまとめて開発するのが楽になる」ということである。

 ここまで来て、「あれっ!?」と感じた読者も多いだろう。そうなのだ、ユニバーサルWindowsアプリとは、エンドユーザーにとっては1つのアプリに見えるが、開発するわれわれにとっては(楽になったとはいうものの)別々のアプリなのだ。

 しかし安心してほしい。従来のPCLなどとは「楽になる」度合いが格段に違うのだ。今までとはまるで別世界なのである。「別々のアプリを作ってエンドユーザーには『共通の体験を提供』しよう、だけど別々だとはいっても楽に作れるよ」というのが、開発者にとってのユニバーサルWindowsアプリである。

 その開発の実際を紹介する前に、次で少々寄り道をする。

       1|2|3|4 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。