使ってみよう! Bing API/SDK

第3回 Hello, Bing Map App!──Silverlightで作るBing Mapsアプリケーション(3)

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

パフォーマンス

最後に必要条件ではありませんが,Map Appのパフォーマンスについて紹介しておきます。SDKに含まれている文書にはアプリケーションのパフォーマンスの重要性について記載されています。述べられている内容は,主にMap Appのサイズをいかに小さくおさえるかです。

ファイルサイズはアプリケーションの起動時間に直結します。また,多くのユーザーの環境での実行を考えた場合,グラフィックスのエフェクトなど処理時間のかかる機能の使用は抑える必要があるでしょう。SDKの文書を読むと,多数のユーザーがアクセスするこのBing Mapsサービスを運営するうえで,どのような視点でアプリケーションを開発すべきかを,少しうかがい知ることができます。

サイズ

Map Appの満たすべき条件にあったようにMap Appのサイズは100KB以下である必要があります。サイズを少なくする方法として次のものが紹介されています。

  • アセンブリの難読化。難読化処理はメソッド名や変数名などを意味のない短い名前に置き換えるためサイズを減らすのに有効です。ただし,有償ツールなどを使用する必要があります。

  • コード分析用のコードやメタデータをアセンブリに含めないこと。

  • System.Xml.LinqやSytem.Jsonの使用を避けること。Silverlight Toolkitなどのサイズを肥大化させるライブラリーの使用を避けること。必要な場合は,余分な機能を除いた小さい専用のライブラリーを作成して使用すること。

  • XAMLのサイズを減らすこと。特にExpression Blendが生成したコードはより単純に記述できる場合があります。XAMLのサイズを縮小する有償ツールなどもあります。

  • LINQやラムダ式の使用は慎重に行うこと。これらを使用するとコードの記述は単純になりますが,コンパイラが多くのコードを生成している可能性がありサイズ増大の原因になります。

  • 可能であればADO.NETやWCFプロキシークラスの代わりにRESTサービスを使用すること。これもVisual Studioが自動的にコードを生成し記述は楽になりますが,その分サイズ増大の原因になります。

  • プラグインに動画像のリソース埋め込みを行うのではなく,Webから読み込んで使用すること。

上記のように多くの事項があります。通常の開発ではあまり気を付けない点についても触れられているのではないでしょうか。できるだけ小さくすることが,重要であることがわかります。

その他のパフォーマンスに関する事項

サイズ以外にも,パフォーマンスを考慮する事項があります。SDK文書では下記の事項が述べられています。

これ以外にも、MSDN LibraryにはSilverlightのパフォーマンスに関して記載がありますので参照するとよいでしょう。

おわりに

Map AppのようなBing Mapsと連携したアプリケーションはBing Maps Silverlight Control SDKを利用しても可能です。この場合,自前のWebサーバーに配置して使うことになりますので自由に公開が可能です。

一方Map AppはBing Maps上で公開されてはじめて多数の人が利用可能になるものであるため,審査が通らないことにはどうしようもありません。まだSDKのBeta版が出たところであり,情報も少ないのが現状であり,今後どのようなアプリケーションが公開され,または拒否されるのかは不明です。

以上のことを考えると,Map Appの機能に依存しないアプリケーションの機能は別のライブラリー化しておくなど,Map AppやSilverlight Controlの両対応も可能な設計も必要になってくるかもしれませんね。

それでは今回はここまでです。次回もまたMap Appについて紹介する予定です。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp