[セミナーフォローアップ] 11/28 TFセミナー 企業利用者のための、Windows Phone アプリ開発 ~業務アプリケーションの配信と管理を実装する Part 1: 企業向けアプリケーション展開、考え方と実装例
本日のセッションは、企業向けにWindows Phone アプリケーションを展開するための考え方と実装例について話をしました。 | |
セッション構成です。 | |
一般論としての確認です。 | |
企業向けアプリケーションは、一般のアプリケーションと異なり、公開範囲やセキュリティ要件が異なります。 | |
Web アプリケーションあるいは専用アプリケーションとしての展開が考えられます。それぞれ、セキュリティの実装が必要ですが、セキュリティについては、Part 2のセッションに委ねました。 | |
Windows Phoneのアプリケーションは、Marketplaceを通じて配布します。 | |
Windows Phoneのアプリケーションは、App Hubというサイトを通じて、申請され、審査が行われます。 | |
App Hubのアカウントは年間登録料 9,800円でご利用いただけます。 学生の方には、DreamSparkをご提供しています。 | |
Windows phone のアプリケーションは、.xap ファイルという zip 形式のファイルにまとめられます。中には、アセンブリファイル (.dll)や画像ファイルなどが含まれています。 App Hubに申請されたファイルはテストされて、問題なければ Windows Phone Marketplace に公開されます。 | |
現時点のWindows Phone Marketplaceは、3種類の方法でアプリケーションを公開できます。 | |
公開までの流れを確認しましょう。 ベーター公開は、審査対象外なので、制約はありませんが、あくまでもテスト用途のみにご利用いただけます。 | |
Windows Phone Marketplaceは、現時点では、企業向けの配布機能を有していません。 このため、企業向けでも App Hubへ登録し、審査を通して、Windows Phone Markeplace を通じて配布が必要です。この時に、プライベート配布を利用することで、アプリケーションが一般には公開されないように制御できます。 | |
開発者登録済みのデバイスは、開発者が10個までアプリケーションを直接インストールできます。しかし、企業向けのアプリケーションにこの機能を利用するのは推奨されません。理由として、開発者登録されたデバイスには自由にアプリケーションがインストールできるため、不用意にアプリケーションが展開されるリスクがあります。 | |
ならば、一時的に開発者登録したデバイスにアプリケーションをインストールして、開発者登録を解除する方法を試みる方もいるかもしれませんが、これはうまく動作しません。開発者登録を解除すると、開発者がインストールしたアプリケーションの起動ができなくなります。 | |
それでは、Windows Phone Markeplaceの制約を理解して、アプリケーション配布を考えましょう。 | |
アプリケーションを非公開として Marketplace に登録してください。テストのメモをきちんと書くことをお勧めします。 | |
Markeplace で管理されているアプリケーションには、一意のURLが割り振られます。公開、非公開に依らず、 URL を知っているユーザーはアプリケーションをインストールできます。 | |
ディープリンクをどう知らせるか、これがアプリケーション配布のポイントです。 | |
それでは実装例を確認しましょう。 | |
SharePoint 2010を利用し、リストにディープリンクとタイトルを登録する方法が利用できます。セッションでは紹介しませんでしたが、これはOffice 365でも利用できます。 | |
社内ドメインに参加している SharePoint に対して Windows Phone の Internet Explorer Mobile から接続します。ドメインの認証を求められ、正しいユーザーであれば、モバイルに最適化された形で SharePoint が表示されます。ディープリンクを開くと、Windows Phone Marketplace に接続します。 SharePointのアクセス制御で公開範囲を変えられます。 SharePointではなく、通常のWebサイトでも<a>タグを使って実装できます。 | |
さらにUXを向上させるために、インストールのための、アプリケーションを作りましょう。 いくつか制約条件をつけて実装してみます。 ・サーバーとクライアントは疎結合、WCFは利用しません | |
JSON文字列でデータを転送します。セッションデモはサーバー側でASP.NETを利用していますが、他の処理系でも構いません。 セッションでは、アプリケーションがどのように実装されているかをソースコードを解説しました。 ポイント: ・Json.net の利用、NuGetのPackage Managerを利用してインストール ・サーバー側で、.NETのListから JSONへのシリアル化 ・クライアントからサーバーへのGET要求をWebClientで実装、非同期通信 ・クライアント側で、JSONから.NETのListへの逆シリアル化 ・Expression Blendの「クラスからのサンプルデータ」機能を利用した画面作成、ListBoxのテンプレート作成 ・ListBoxのダブルタップイベントでインストール画面への遷移、MarketplaceDetailTaskの利用 ・Tilt Effect を利用してコントロールの振る舞いを変更 | |
一番のポイントは、MarketplaceDetailTaskの利用。 | |
最後に、Webアプリケーションを展開する上で、Internet Explorer Mobileについて紹介しました。 | |
一般にWebアプリケーションは、Webブラウザーがあれば良い、という話ですが、現実は、利用するマークアップやスタイル、スクリプト、プラグインなどに依存します。 | |
Windows Phone 7.5のIE Mobileは、Internet Explorer 9のTridentエンジンを利用し、ハードウェアアクセラレーションを使ったレンダリング、高速なJavaScript実行に対応しています。 | |
PC版との大きな違いとして、ブラウザープラグインをサポートしていない点が挙げられます。Adobe FlashやMicrosoft Silverlightのブラウザープラグインは動作しません。 | |
HTML 5の注目が高まっていますが、IE MobileのHTML 5の機能を試す方法として、Internet Explorer Test Driveがあります。 https://ietestdrive.com/mobile W3C Geolocation の機能により、現在位置をJavaScriptから取得できるというデモ、HTML5でビジネスチャートを表示するデモを行いました。 | |
サーバーの運用管理者の方は、ユーザーエージェント文字列の違いを知っておくと良いでしょう。 IE Mobileは2種類のレンダリングモードがあります。 ※ WebBrowser コントロールを利用している場合、既定では、モバイルサイト優先のユーザーエージェントとなります。 | |
Viewport の指定がないと、横幅1,024ピクセル | |
Viewport を device-widthに指定すると、320ピクセル (既定値) | |
CSS3 メディアクエリーの利用も検討しましょう。 このサイトをHTML5 対応のPCブラウザーで開き、ブラウザーのウィンドウの大きさを変更して、効果を確かめました。 | |
メディアクエリーの利用方法は、希望の解像度とスタイルの組み合わせを宣言することです。 | |
IE Mobileでは、LocalStorage、SessionStorageを利用できます。 | |
キーと値のペアで管理しますが、文字列で格納されます。 | |
文字列以外のデータに利用する場合は、変換処理を行いましょう。 | |
本セッションでは、Windows Phone Marketplaceの制約を理解し、非公開としてMarketplaceにアプリケーションを登録し、インストールを支援する方法について解説しました。 Webアプリケーションを利用される場合は、IE Mobileの仕様にご注意ください。 | |
Windows Phone デベロッパー センター https://msdn.microsoft.com/ja-jp/windowsphone/default.aspx Web Development for Windows Phone https://msdn.microsoft.com/en-us/library/ff462082(v=VS.92).aspx Windows Phone Marketplace https://msdn.microsoft.com/en-us/library/hh202939(v=VS.92).aspx 開発者向け情報番組 「UX-TV」 https://www.ustream.tv/channel/ux-tv |
|
ありがとうございました。 |
Comments
- Anonymous
November 28, 2011
セミナーで、WP7のIE MobileとPC版IE9との違いをまとめてるWebページがあるような話があったと思うのですが、ご紹介いただけますか? - Anonymous
November 29, 2011
Web Development for Windows Phone のページを参考にしてください。msdn.microsoft.com/.../ff462082(v=VS.92).aspx簡単に日本語訳したものは、↓へ。blogs.msdn.com/.../10182765.aspxIE Mobile for Developer Overviewwindowsteamblog.com/.../ie9-mobile-developer-overview.aspxWebBrowserコントロールについての情報は↓を。msdn.microsoft.com/.../ff431812(v=VS.92).aspx - Anonymous
December 06, 2011
サンプルを2種類公開しています。サーバー側でIIS Expressを利用したバージョンblogs.msdn.com/.../10241875.aspxIIS Expressを利用していないバージョンblogs.msdn.com/.../10244838.aspx