気楽なソフト工房

プログラミングについていろいろな記事を書いています。



mykonos2008

Author:mykonos2008
システムエンジニアとして働いている30代の会社員です。
仕事や趣味でプログラムを書いている方の役に立つ記事を書いていきたいと思っています。
ご意見、ご感想はこちらまで
If you are an english speaker,Please visit my english blog.

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Windows Phoneアプリの開発を始める前に、開発環境や、Market Placeへの登録方法などをお話します。

■開発環境について
開発環境は全て無料で入手することが可能です。
「Windows Phone SDK 7.1」

※ Windows XPには対応していません。

Microsoft Visual Studio 2010 Express for Windows PhoneやExpression Blendの他に、開発用のエミュレータが付属しています。
エミュレータはGPSのデバッグ機能も付いていて、実機がなくても問題なく開発が進められます。

■Windows Phone Market Placeへのアプリ登録について
Market Placeへのアプリケーションを登録するためには、まず「App Hub」と呼ばれる
開発者コミュニティの12ヶ月メンバーシップ(\9800)を購入する必要があります。
実機でデバッグを行う際も、このメンバーシップが必要になります。

アプリの提出は「App Hub」から行います。提出したアプリは審査にかけられます。審査には平均3-5営業日かかります。
審査の基準はmsdnで公開されています。

アプリの開発を始める前に一度目を通して、やらないといけないこと、やってはいけないことを
確認しておく必要がありそうです。

また、提出する前にセルフチェックするための、「Market Place Testkit」も提供されています。

審査では基準を満たしているか、細かなチェックが入るので面倒なようですが、
これによりユーザは安心して、アプリを利用できるようになり、Windows Phoneへの
信頼も高まるので、良いことだと思います。

スポンサーサイト
米調査会社のGartnerによると、2011年第3四半期の世界市場でのスマートフォンのOS別シェアで、
1位のAndroidが52.5%に対して、Windows Phone(Windows Mobile含む)のシェアは1.5%だったという記事をみました。
(ちなみにiOSは15%)

Windows Phoneは世界的にも、国内的にも、AndroidとiOSに圧倒され、かなり厳しい状況になっているようです。

マーケットに公開されているアプリの数も、2011年11月時点で、iOSアプリが500,000、Androidが320,000に対して、Windows Phoneは40,000となっているようです。

「鶏が先か、卵が先か」の議論になるのですが、アプリの数が少なければ、端末は売れないし、
端末が売れていなければ、アプリの数も増えないという悪循環もあると思います。

C#が好きな私としては、Windows Phoneにはもうちょっと頑張ってもらいたいと思っています。

そんな訳で何かの足しになるか分かりませんが、実際にWindows Phoneアプリを開発しながら、
その過程で得た知識を開発日記として、連載記事にしていきたいと思います。

開発するのは楽天Webサービスの「楽天トラベル空室検索API」を使って、今いる近くのホテルの空室を検索するというアプリです。

このアプリでは、LocationServiceや、ネット接続、Map Control等も使用する予定です。

主旨から言うと、SilverlightやXAMLの基礎についても、解説できれば良いのですが、
そこまでは、書けなさそうなので、SilverlightやXAMLの基本の知識がある前提での記事にする予定です。
私はWindows7を使っているのですが、OSを起動して初めて.NET アプリケーションを起動する際はやっぱり遅いです。分析をしてみた訳ではないのですが、これはやはりCLRのメモリへのロードが一番の要因なんでしょうね。

一度、.NET アプリを起動すれば、その後、他の.NETアプリを起動する場合でも、ほとんど起動時間が気にならないくらい早いです。仕組みを知っていれば納得のいくことなんですが、ユーザから見ると、朝イチはいつも遅いって 少しストレスを感じることもあるんでしょうね。

どうしても、これが問題になる場合は、CLRをあらかじめメモリにロードするために、OS起動時に 小ぶりの.NET アプリを一度起動する工夫をしている人もいるようです。

.NET Framework4.5でも、アプリケーションの起動に関わる改善がされるようですが、内容を見ると、やはりCold Start時の起動はあまり改善されない気がしています。
Windows VistaからSuperFetchと言って、ユーザが頻繁に使用するメモリの内容をあらかじめロードする機能が 提供されています。もし、毎朝、.NETアプリを起動する人の場合、CLRはOS起動時に自動的にロードされるように なるんでしょうかね?

Windowsアプリ開発における.NETの重要性を考えれば、せめてOS起動時にCLRの自動ロードを オプションとして選択できるようなOSの機能が有ってもよいのではと思います。

今後に期待したいです。といいつつ、既に有ったりするんですかね?情報をお持ちの方 是非教えてください。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。