Windows phoneアプリを開発したい
投稿者:和田 健司氏(酢ろぐ(ch3cooh.jp))
Windows phoneのバージョン6.5から新しく指タッチ操作を認識するGesture機能が搭載されました。Gesture機能の他にも無線LANやBluetooth、赤外線、LED、バイブレーション、加速度センサ、地磁気センサ、GPSなどが搭載され、魅力的なデバイスになっています。
しかし、残念ながら.NET Compact Frameworkの標準ライブラリ群を使った開発では、Windows phoneの力を100%引き出すことができません。P/Invokeを使用しネイティブ関数を駆使して初めてデバイスのすべての機能を扱うことができます。
せっかく.NETを使ってコーディングするのに、ネイティブ関数を網羅する必要があるのは少し大変ですよね。Windows phoneアプリケーション開発の書籍は、国内で発刊されている数も少なく情報が乏しい状態です。
そのような状況で、デバイスを使うアプリケーションを開発する際に、一番参考になる日本語サイトが「MSDNライブラリ」と「MSDNマガジン」です。
Windows phoneに関する開発Tipsの探し方
さて本題です。Googleなどの検索エンジンを利用すると、すぐに使えるコードを発見することができます。例えば赤外線に関するサンプルコードを探したい場合、下記のように検索します。
site:msdn.microsoft.com/ja-jp/ "Windows Mobile" 赤外線
赤外線通信のエンドポイントの説明が書かれた IrDAEndPointクラスについてのリファレンスの解説から「方法 : 赤外線ファイル転送を行う」にたどり着くことができます。あとはコピー&ペーストで自分のアプリケーションに取り込めば、赤外線通信の対応は完了です。
一方、MSDNマガジンの記事は、単なるリファレンスより実践的な内容が含まれていますので重宝すると思います。
site:msdn.microsoft.com/ja-jp/magazine/ "Windows Mobile"
MSDNマガジンでお勧めの記事は、加速度センサを使って音楽を操作する「シェイクとスキップで音楽を操作する」と、Bluetoothとレゴブロックを使ってロボットを操作する「いろいろな場所へ : ロボットが教えてくれること」です。両方ともデバイスの性能を駆使したサンプルコードが掲載されています。
目的のドキュメントが見当たらない場合は
デスクトップ版の.NET Frameworkの情報は個人のブログでも参考になるものが多いのですが、Windows phoneアプリケーション開発の場合は1次ソースであるMSDNを見る方が手っ取り早いケースが多々あります。
MSDNライブラリとMSDNマガジンで分からない点があれば、MSDNフォーラムで質問をしてみてください。Windows phone開発に長けたベテランの方々からの回答をいただくことができます。ただ端末固有の問題の場合は、守秘義務などから回答が貰えない場合があります。そういう時は端末メーカー様に質問するのが良さそうです。
それでは、楽しいWindows phoneアプリケーション開発を体験してください。