Silverlight、PC向けとWindows Phone向けの違い:いますぐ実践!タイプ別スマホアプリ移植テク(2)(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」があります。
- 入力
- Webカメラなどメディア
- DeepZoom
- データバインディング
- 分離ストレージ
- LINQ
- ネットワーク(HttpWebRequest、WebClient、Sockets)
- XAML
- ICommand
- 開発言語: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にない機能を紹介します。
- Windows Phone上のWebブラウザでホストされるSilverlightアプリ
- ドラッグ&ドロップ
- 右クリック
- Trustedアプリ
- 印刷
主にデスクトップ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」によって対応可能です。例えば、リストのアイテムをタップではなく、ホールドした場合にコンテキストメニューを表示可能です。
ただ、ホールドによるコンテキストメニューに関してはスマートフォンユーザーにあまり浸透していないため、Windows Phoneアプリにコンテキストメニュー機能を追加した場合は、ヘルプやガイドなどでユーザーの学習を支援する必要があります。
次ページからは「Features Supported in Silverlight for Windows Phone」にも掲載されていないWindows Phoneのスマートフォンならではの機能に関しても見ていきます。
Copyright © ITmedia, Inc. All Rights Reserved.