Windows Phone 7 Developer Tools をちょっと触ってみました

日本ではまだどのキャリアからも発売の発表がないですが、Windows Phone 7(WP7) というのは、従来の Windows Mobile とは一線を画すスマートフォンのようです。iPhone よりもビジネスユースなどで企業が採用するのではないかと思っています。
昨年 Developer Tools がダウンロード可能になってました。

XNA と Silverlight による WP7 アプリの開発が可能になっています。C/C++ によるネイティブなバイナリー作成はできないようです。

Developer Tools をインストールすると Visual Studio 2010 Express (English) と WP7 用のプロジェクトテンプレートがインストールされます。エミュレーターもインストールされます。Professional 日本語版をすでにインストールしていましたが、プロジェクトテンプレートなどがマージされたりはしませんでした。

Silverlight や WPF の知識があれば、Silverlight による開発を選択することになるでしょう。.NET RIA Services と組み合わせれば、サーバーサイドのロジックを WP7 端末側でも利用できそうです。ビジネスアプリケーションの作成には適したプラットフォームだと思います。XNA の方は Direct X を使ってゲームを開発するのに適しています。
Silverlight での開発の様子です。

さて、ずっと放置している iEdit for Silverlight の WP7 への移植を試してみました。

アウトラインビューとネットワークビューをそのままのレイアウトで移植するのは(iPad なら別ですが)やめたほうがよいと考え、ネットワークビューの部分のみをトライしてみました。プロジェクトを新規に作って、ノードやリンクのクラスをコピーし、ちょこちょこっと直して1時間ほどでエミュレーター上で動いてしまいました。

ノードやリンクの追加は画面下の4つボタンに割り当て、ランダムな位置に出現させるようにしました(ボタンは標準で4つのようです)。
もともと、マウスオペレーションを前提に作っているので、このままだと操作しにくいと思います(エミュレーターではマルチタッチとかの入力方法が分かりませんでした)。
操作系はがらりと変えたほうがよいでしょうが、Silverlight のアプリがあっさりと動いたのには驚きました。基本的なクラスには全然手を入れていません。WPF や Silverlight の開発ノウハウがあれば、参入障壁は低いと言えるでしょう。Developer Tools は Visual Basic 版もリリースされてますが、Windows Form のイベントハンドラーによるプログラミングモデルの開発ノウハウだけではあまり武器にはならないと思います。MVVM のプログラミングモデルに習熟しておくべきでしょう。

日本でも早くWP7の端末を入手できるようになってほしいです。


関連記事