連載世界のWebサービス ― 究極のWebサービスを求めて ―第9回 モバイルWebアプリケーション 田口景介 |
前回、携帯電話からWebアプリケーションを通してWebサービスへアクセスするサンプルプログラムMSNSenderを紹介したが、これは単純にコンパクトなWebページをデザインしただけで、特別携帯電話からのアクセスを意識したものではなかった。コンパクトにページをデザインし、文字コードをShift JISに設定しただけでは、アクセスできる携帯電話はiモードに限られてしまう。
インターネット・モバイルデバイスでは、NTT DoCoMoのcHTML(compact HMTL)、KDDIのHDML、J-PhoneのMML、PDA(Pocket PC、Palm)のHTMLというように、各デバイスごとに異なるマークアップ言語が採用されているため、すべてのデバイスから利用可能なWebアプリケーションを開発するには、それぞれ個別にWebページを用意しなければならないのが現状だ。ということはつまり、同じWebアプリケーションであるにもかかわらず、デバイスごとに異なるURLをアナウンスしなければならないことになる。これでは開発工数が増えるばかりか、ユーザー側にも余計な手間を強いることになる。cHTMLはHTMLのサブセットとして定義されているため、ごく普通にASP .NETを利用してデザインしたWebページでも表示できる可能性はあるが、保障されるわけではない。
Mobile Internet Toolkitを使う
そこで、今回はMicrosoftからベータ・バージョンの配布が始まっているMobile Internet Toolkitを使って、デバイスによらずアクセスできるようにMSNSenderを作り直すことにしよう。Mobile Internet Toolkitとは、.NET Framework SDKとは別途配布されているモバイル向けWebアプリケーション開発キットである(Mobile Internet Toolkitベータ2日本語版のダウンロード・ページ)。Mobile Internet Toolkitを利用して開発されたWebアプリケーションでは、単一のASPXページからデバイスの特性に応じたコードが自動生成されるため、デバイスごとにWebページを個別に用意する必要がなくなる。したがって、ASP .NETとMobile Internet Toolkitだけを理解すれば、新たにcHTMLやHDMLを学習したり、バージョンごとの細かな仕様の違いを考慮したりすることなく、Webアプリケーションの開発が可能になる。
こうしてMobile Internet Toolkitを利用すれば、デバイス間の差異を吸収することが可能になるが、デスクトップPC向けのページまでも1つのWebページにまとめられるわけではなく、あくまでもモバイル・デバイス向けのWebページが1つですむだけだ。モバイル・デバイスの多くは、画面サイズが大きくとも200ドット程度でしかないため、デスクトップPC向けWebページまで共通化するのは現実的ではない。IEからMobile Internet Toolkitでデザインしたページへアクセスすれば、HTMLコードが生成されるため問題なくブラウズは可能だが、モバイル向けのシンプルなページではユーザーの目をひきつけることは難しいだろう。それでは、モバイル向けWebアプリケーションとデスクトップ向けWebアプリケーションはやはり別個に開発しなければならないのかというと、そうとは限らない。うまく設計すれば、Webページだけを別個にデザインし、コードは統一させることが可能だ。ASP .NETではページ・デザインとコードを分離して記述することができるので、モバイル向けページとデスクトップ向けページにレイアウトしたコントロールに同じID名を割り当てれば、両ページをC#やVB .NETで記述した1つのコードで処理することは可能だ。
このように、Mobile Internet Toolkitはモバイル・デバイスからのアクセスを考慮したページ・デザインを強力にサポートし、開発効率を大きく向上させる.NET Frameworkの拡張開発キットである。
INDEX | ||
[連載]世界のWebサービス―― 究極のWebサービスを求めて ―― | ||
第9回 モバイルWebアプリケーション | ||
1.モバイル・サーバ・コントロール | ||
2.Mobile Internet Toolkit版MSN Sender | ||
「世界のWebサービス」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|