連載
» 2011年11月22日 00時00分 公開

いますぐ実践!タイプ別スマホアプリ移植テク(2):Silverlight、PC向けとWindows Phone向けの違い (1/3)

本連載では、iPhone、Android、Windows Phoneなど、さまざまなスマートフォンのプラットフォームに対応するために、各スマホプラットフォーム同士のアプリ移植はもちろん、HTML(HTML5含む)+JavaScriptのWebアプリからのネイティブアプリ変換、Adobe AIR/Flash、デスクトップPC向けアプリからの移植テクなども紹介します

[福田寅成,クラスメソッド株式会社]

 前回の「.NET未経験でもWindows Phone開発するための基礎」でも紹介しましたが、Windows Phoneアプリ開発では開発技術としては「Silverlight」または「XNA」を用います。すでに、これまでSilverlightでWebアプリを作成していた方で、今後Windows Phoneアプリを開発していきたいという方もいるかと思います。

 そんな開発者の方向けに、本記事ではPCブラウザ向けのSilverlightとWindows Phone向けのSilverlightの違いや注意点について取り上げます。「Silverlight for PC」がPCブラウザ向けのSilverlightを、「Silverlight for Windows Phone」がWindows Phone向けのSilverlightを表すものとして区別します。「Silverlight」と書くと、Silverlight for PCとSilverlight for Windows Phoneそれぞれを合わせた「Silverlightの共通部分」といったイメージの内容を指すことにします。

 また本記事では、Silverlight 4がベースになっている「Silverlight for Windows Phone OS 7.1」について解説します。Silverlight for Windows Phone OS 7.0ではないので、ご注意ください。また、「Silverlight」自体について知りたい読者は、以下の記事をご参照ください。

コラム すべてが「XAML」になる?

Siverlightで用いる画面定義用のマークアップ言語である「XAML」は2012年登場予定のWindows 8の「Metro Style Apps」を構築する際にも用いられる予定です。資料には「XAML」としか書いていないので、Silverlight(やWPF)という名前はなくなって、これまでのSilverlightやWPFは「XAML」という名前で呼ばれることになるのでしょうか?


WPF、Silverlightと進化してきたXAML技術の適用領域がWindows Phoneのようなスマートフォンのみならず、Windows 8搭載のさまざまなデバイス向けのアプリ開発にも広がっています。


PCブラウザ/Windows Phone両方共通の機能10選

 最初に、Silverlight for PCにもSilverlight for Windows Phoneにもある機能について説明します。基本的に、両者とも「Silverlight」の基本機能ともいうべき部分はサポートしていますSilverlight for Windows Phoneでサポートしている機能に関しては、英語の資料「Features Supported in Silverlight for Windows Phone − msdn」があります。

  1. 入力
  2. Webカメラなどメディア
  3. DeepZoom
  4. データバインディング
  5. 分離ストレージ
  6. LINQ
  7. ネットワーク(HttpWebRequest、WebClient、Sockets)
  8. XAML
  9. ICommand
  10. 開発言語:C#VB(Visual Basic)

 動画やDeepZoomなど「Silverlight」の特徴ともいうべき機能はSilverlight for Windows Phoneでもサポートしています。ネットワーク周りでは、IIS Smooth Streamingもサポートしています。開発言語もC#、Visual Basicと両方サポートしています。

 つまり、「Silverlight」のベーシックな機能は基本的には受け継いでいます。特に、Silverlight for PCの開発のしやすさ、画面の作りやすさ、ツールの使いやすさなどは、これまで通りといった印象なので、Silverlight for PCで開発経験のある方は技術的な面ではスムーズにWindows Phone開発に入れると思います。

PC向けにあってWindows Phoneにない機能5選

 次に、Silverlight for PCにあってSilverlight for Windows Phoneにない機能を紹介します。

  1. Windows Phone上のWebブラウザでホストされるSilverlightアプリ
  2. ドラッグ&ドロップ
  3. 右クリック
  4. Trustedアプリ
  5. 印刷

 主にデスクトップPC向けの機能やマウスに関連する機能です。注意したいのはWindows PhoneのInternet Explorer(以降、IE)では、Silverlight for PCを再生しないということです。従って、Silverlight for PCベースのWebサイトを作っていた方はWindows PhoneのIE向けサイト対応を行う場合はHTMLベースのものに作り替える必要があります。

 またSilverlight for PCでは、Trustedアプリの場合は、Excelのような他のアプリを起動可能でしたが、Silverlight for Windows Phoneではネイティブアプリといってもデバイス上のリソースとのやりとりは(Androidなどに比べると)比較的制限されている印象があります。何でもかんでも、できるわけではありません。

 右クリックに関しては、後述する「Silverlight Toolkit for Windows Phone」で提供している「ContextMenu」によって対応可能です。例えば、リストのアイテムをタップではなく、ホールドした場合にコンテキストメニューを表示可能です。

図1 ホールドによるリストアイテムの削除(※ホールドを含むタッチジェスチャはWindows 8で「標準化」される予定です) 図1 ホールドによるリストアイテムの削除(※ホールドを含むタッチジェスチャはWindows 8で「標準化」される予定です)

 ただ、ホールドによるコンテキストメニューに関してはスマートフォンユーザーにあまり浸透していないため、Windows Phoneアプリにコンテキストメニュー機能を追加した場合は、ヘルプやガイドなどでユーザーの学習を支援する必要があります。

 次ページからは「Features Supported in Silverlight for Windows Phone」にも掲載されていないWindows Phoneのスマートフォンならではの機能に関しても見ていきます。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。