Windows Phoneアプリケーション開発入門

第30回 新機能が盛り沢山のアップデート「Mango」の発表

この記事を読むのに必要な時間:およそ 4 分

はじめに

MIX11の2日目。基調講演にてWindows Phone 7の新しいアップデート「Mango」についての解説がありました。過去からコードネームがリークされていましたが公に認めた形になります。リークされていた内容通り,日本語を含む多言語対応やHTML5に対応したIE 9ベースのIE Mobileが搭載されたり,iPhoneやAndroidと比較してWindows Phoneが弱かった低レイヤーをサポートするAPIが沢山追加されています。MangoでWindows Phoneが大きく変わります。

画像

基調講演にて取り上げられた新機能についていくつかご紹介したいと思います。

Sockets

スマートフォンユーザーの求めているアプリケーションのひとつに「Skype」があります。過去にWindows Mobile用のアプリケーションがリリースされていましたが,Windows Phone向けには現時点ではリリースされていません。その理由のひとつにSocket通信が許容されていないという理由がありましたが,今回のアップデートにてSkypeがリリースされる土壌は整ったと言えます。

そのほかにもシンプルなチャットプロトコルのIRCを扱うアプリケーションを作ってデモをしていました。Socket通信ができるようになりアプリケーションの幅が広がることは間違いありません。

RawCamera

Windows Phoneに搭載されているSilverlight for Windows Phoneは,Silverlight 3がベースとなっています。Mangoでアップデートの掛かるSilverlightのバージョンは,4相当となりカメラプレビューの直接入力がサポートされます。

Mango以前ではCameraCaptureTaskを使用して,標準カメラアプリケーションでしか撮影を行うことができませんでしたが,カメラプレビューが直接扱えることによりAR(拡張現実)アプリケーションが増えてくるかもしれません。また,もうひとつ大きなカメラにまつわるアップデートがあります。バーコードリーダーが標準APIとして用意されるようです。デモでは書籍のバーコードを読み込み,Amazon APIを使って書籍の詳細情報を表示していました。業務用端末としてのWindows Phoneという切り口もアリかもしれません。

画像

Access to Contants & Calender

連載第25回でも取り上げましたが,Windows Mobileでは扱えていたアドレス帳やカレンダーのデータに対して,Windows Phoneではアプリケーションから直接アクセスすることが許されていませんでした。MangoアップデートではこれらがAPIとして提供され,標準アプリの代わりになるようなスケジュール管理アプリケーションやアドレス帳アプリケーションを開発することが可能になります。

More Sensor

地磁気センサーや照度センサーは,端末メーカーがWindows Phoneに載せなければいけない必須の項目とされていましたが,公式にはAPIが提供されておらず,Microsoftや端末メーカー製のアプリケーションからでしか扱うことができませんでした。

これらのセンサーとジャイロセンサーに対応するようです。ジャイロセンサーは当初出していた要求仕様に含まれていないのでオプション扱いとなりますが,アプリケーションから端末に搭載されているセンサーデバイスの機能を扱えるようになります。

Background Agent

Windows Phoneではマルチタスクが廃止されて,シングルタスクが採用されました。それにはいくつか理由があるそうですが,大きな理由としては制限無しにバックグラウンドで処理が動かせてしまうとバッテリーを大量に消費してしまいます。そこで,バッテリー消費を抑えるように制限を設けたバックグラウンド・エージェントという仕組みが追加されるそうです。

Background Agentでできることは,タイルの表示操作,アラート表示,Location Service(GPS)⁠NetworkとSocketの通信系,ほとんどの.NET Framework API。できないこととしては,UIに関わること,カメラ,電話,Location Service(GPS)を除くSensor系APIのようです。AudioについてはBackground Audioという別のAPIが使えるようです。

SilverlightとXNAの相互運用

現時点でも一部アセンブリを使用することは可能ですが,フレームワークモデルでの相互運用が可能になるそうです。XNAの得意分野と言えばゲームに代表される3Dの分野ですが,文字入力ひとつを取っても実装は困難のようでした。一方,Silverlightの得意分野は豊富なコントロールです。このふたつを相互に運用させることで,例えばXNAで3Dのキャラクターが動く中,文字入力させるのにSilverlightのTextBoxコントロールを使用することが可能となるそうです。

開発ツールのアップデート

Visual Studio 2010 Express for Windows Phoneに,パフォーマンスプロファイラが搭載されます。CPU,GC Collect,メモリ等のプロファイリングが可能になりました。リソースの乏しいスマートフォンのアプリケーションを開発する上では,かなり心強い存在になるのではないでしょうか。リアルタイムプロファイリングではありませんが,Mangoアップデート対応のWindows Phone Developer Toolsのリリースが楽しみです。

また,Windows Phone エミュレータも大幅にアップデートされているようで,GPSと加速度センサーとジャイロセンサーをシミュレートする機能が搭載されるようです。

著者プロフィール

和田健司(わだけんじ)

1982年10月12日生まれ。大阪で働くプログラマ。Microsoft MVP for Device Application Development(Jul 2010 - Jun 2011)。Windows Mobileに傾倒し今に至る。Windows Mobile向けのTipsを書いています。iPhoneアプリ開発を始めました。嫌いな食べ物はカレー。

URL: http://ch3cooh.jp/
Blog: http://d.hatena.ne.jp/ch3cooh393/

コメント

コメントの記入