feb19.jp

Nobuhiro Takahashi
Designer / Engineer

Windows Phone アプリを作った話。

Windows Phone アプリを作った話。

地元に帰る新幹線の移動が暇で環境は入れてあったので、 VisualStudio と C# と Silverlight と Expression Blend をちょこちょこ触りながら作りました。

中学初級英単語
中学初級英単語

中学校一年程度の基礎的な英単語がつまった単語帳アプリです。
Windows Phone 7 デフォルトのアイコンにグラフィックを揃えたくて、線の太さとか大きさとか、そのための微調整が案外大変でした。Silverlight (C#) とかは簡単でした。


1. 環境

Windows Phone SDK をここからダウンロード
僕は間違えて英語版を選んでしまいましたが、
日本語版も提供されていますのでそちらが良いかと思います。

・Visual Studio 2010 Express for Windows Phone
・Expression Blend SDK for Windows Phone 7
・Windows Phone 7.5 Simulator

が同梱されており、インストールします。


Windows Phone 7 の開発は DirectX の新しめなバージョンが必要になるため、Mac の上に VMWare Fusion 4 とかでは Windows Phone Simulator は動作しません。実際の開発では Bootcamp でネイティブで Windows を起動させる、あるいは実機を接続して実機で確認することになります。

VMWare Fusion 4 では VDDM 1.0 までのみがサポートされており、Windows Phone SDK では VDDM 1.1 を必要としているためです。


IS12T

実機は IS12T しか日本では販売されていません。基本的に Microsoft はハードのスペックをしぼっているため、どの端末を手に入れようがほとんど同じ機能が使えるので開発用に海外端末を買ってもいいでしょう。Microsoft 日本の中の人はかなりの割合で Windows Phone = IS12T を使っているっぽい。

Nokia Lumia 800

僕は Nokia Lumia 800 を開発用に購入して使っています。Microsoft の中の人でも稀に使っている人がいました。なかなかカッコいいです。フィンランド素敵。北欧に住みたい。


実機でアプリの動作を確認するには、そして Marketplace でリリースするには、Apple iOS 同様、Microsoft に年間一万円程の金額を払わなければなりません。


2. 制作

Windows Phone はアプリを Silverlight か XNA で作成することになるのですが、ゲームや iOS /Android でいう OpenGL 的な没入型アプリで無い限り、Silverlight で開発することが多いでしょう。

Silverlight は XAML でマークアップし、VB か C# でプログラミングします。
HTML と JavaScript の関係性と似ています。

Visual Studio と Expression Blend でツールが用意されており、開発者(というかオーサリングエンジニア)は恐らく二つとも使う事になるでしょう。Expression Blend で、アニメーションやベクターグラフィック、パーツのレイヤー階層構造などを整理し、Visual Studio でそれらのアクションを設定したり、イベントを受け取り、クラスをプログラミングするなどします。


Expression Blend

Microsoft は Expression Blend をデザイナー向けと称していますが、Adobe 系のツール群とは操作方法や文脈が違ったりして最初は戸惑うかなと思います。ただ、ツールを一通り把握し、慣れれば、Fireworks に匹敵する使いやすいインターフェースデザインツールかなと思いました。


XAML

XAML は、Flex の MXML みたいにコードにマークアップとスクリプトが混在していることはないので個人的には Flex よりコードは読みやすく、分かりやすいのですが、簡単な命令スクリプトは C# には無いし (setTimeout とか)、VisualStudio というツールの特性もあって ActionScript よりは習得が少し難しいかもなと思いました。(AS2 みたいにデザイナーが簡単に覚えられるというわけではないかもという感覚値)


3. 雑感

個人的には Android よりセットアップも簡単で、実機も開発ツールも出来がよく、機種依存が殆どないため、とても作りやすいです。

iOS と比べても開発は C# なので Objective-C よりも簡単で、Windows で作れるのでやりやすい会社が多いんだろうなという印象がしました。(自分みたいに Mac をメインで使っていると逆にやりにくいけど)

ただまだ Windows Phone は普及率も機能も認知率も開発者向けサービスも全て周回遅れ感があるので、急いで飛びつくほどでもないかなとは思いつつ、Windows 8 に通じる UI だったり UX だったりするので、Windows 8 やりたい人、メトロやりたい人は触っておくといいことあるかも、と思いました。よく売り文句で聞く先行者利益で大もうけできる、というのは若干違和感です。

iOS / Android の勉強が一段落した、ちょっと別なことも勉強したい、みたいな人もいいんじゃないでしょうか。


4. 落とし穴

一枚イメージグラフィックを付けて申請したのですが、
一回「スクリーンショットねえじゃん」という理由でリジェクトくらって、
1 週間ぐらい審査延長でリリースまで合計 2 週間かかりました。


あと Windows Phone Marketplace 事務局の方から「おたくのアプリ Available になりました」とメールが来たのでヤッホーイとおもって Marketplace 見に行ったら表示されなく、結局一日以上経っても公開されてませんでしたが、一日と半日後ぐらいに確認したところリリースされてました。

何かの手違いかもしれませんが、日本のブログで「Windows Phone Marketplace はディレイがある」とか海外のブログでも「least 8 hours delay」とかとも書かれていたので、仕様的なもののようです。

iOS より審査は遅い印象。まだ感覚値は掴めていないけど、 2〜3 週間ぐらいは審査対応期間としてスケジューリングしなければならないかもしれない。



Tweet Share Bookmark

Navigation

prev: Silverlight C# でデータを保存
next: Mac の標準アプリ「プレビュー」で、複数の画像から一冊の PDF を作る

Recently Entries