連載
.NETでモバイル・サイト開発を始めよう

第1回 ASP.NETによる携帯サイト開発は七転八倒?!

シグマコンサルティング 菅原 英治
2007/03/20
Page1 Page2 Page3 Page4

 携帯電話をターゲットとしたモバイルWeb市場は盛り上がりつつある。先日もmixiモバイルは1日1億PV、モバゲータウンは2億PVを達したと報道された。

 このような中で、「モバイル・サイトを構築してモバイルWeb市場に打って出たい」という企業も少なくないだろう。特にASP.NETテクノロジに精通していれば、ASP.NETで構築されたWebアプリケーションをモバイル向けにも展開したい、と考える企業は少なくないはずだ(ASP.NETによって開発されたWebアプリケーションは、2002年1月に.NET Framework 1.0がリリースされて以来、確実に増えてきている。筆者の個人的経験からだと、社内向けのイントラWebアプリケーションはASP.NETで構築される例が多いのではないだろうか)。

 しかし現在のところ、ASP.NETで構築された携帯電話向けのモバイルWebサイトはほとんど見られないのが現状だ。その背景には下記のような課題があるからだと考えられる。

【ASP.NETによるモバイルWeb開発時の課題】

  • マイクロソフトから提供されている情報が少なく、またその内容が難しい
  • 実際の開発者が少ないため、参考となるサンプルが少ない
  • Webコントロールとモバイル・コントロールの違いによる取っ付きにくさ
  • 携帯キャリア別の処理をどのように行えばよいのか分からない
  • 携帯機種別の処理をどのように行えばよいのか分からない

 下の表は、ASP.NETによる通常のWeb開発とモバイルWeb開発の違いをまとめたものである。当然のことながらモバイルWeb開発時は、デバイス別の対応が必要となり、開発するのが難しい。またモバイルWeb開発では、モバイル・コントロールを利用することになる。モバイル・コントロールは、Webコントロールに比べ、機能が制限されたものが多く不便である(例えば、1行に1つのコントロールしか配置できない、チェックボックスがない、など)。そのことも、開発を難しくする一因である。

比較項目 通常のWeb開発 モバイルWeb開発 備考
デバイス識別 不要 必要 モバイルWeb開発では、キャリア別の対応のほか、特定の機種別の対応が必要な場合がある
クッキー・セッション 利用可能 デバイス依存 モバイルWeb開発で、クッキーが利用できないデバイスは、クッキーレス・セッションの利用が必要
スタイルシート 利用可能 デバイス依存
コントロール Webコントロール モバイル・コントロール モバイル・コントロールは機能が制限されたものが多いため不便
ASP.NETによる通常のWeb開発とモバイルWeb開発時の違い

 本連載では、マイクロソフトから提供されているモバイルWeb開発技術を分かりやすく解説することで、停滞気味なASP.NETモバイルWeb開発の状況に一石を投じたい。

 なお本連載で対象とするのは、iモード、ezweb、Yahoo!ケータイなどの携帯専用ブラウザをターゲットとしたWebサイト開発である。従って、Opera miniなどの携帯フル・ブラウザへの対応は対象としない。

 以下に本連載の全体構成を示す。

  1. ASP.NETによるモバイルWeb開発の現状
    1.1. ASP.NETモバイルWeb開発ロードマップの整理と要約
    1.2. 個々のデバイス別の対応は開発者の手に

  2. デバイス・フィルタによるデバイスの識別
    2.1. モバイル用Webサイトの準備
    2.2. ASP.NETのデバイス識別機能の確認
    2.3. デバイス・フィルタについて

  3. デバイス別の対応を行う
    3.1. カスタム・コントロールについて
    3.2. デバイス・アダプタについて

  4. モバイル・コントロールの利用時の心得
    4.1. 一覧の表示(GridViewコントロールとListコントロールの違い)
    4.2. ラジオボタン、チェックボックスがない

  5. セッションとViewStateについて
    5.1. クッキーレス・セッションについて
    5.2. ViewStateは利用可能

■1. ASP.NETによるモバイルWeb開発の現状

 マイクロソフトのMSDNのサイトに、「ASP.NET によるモバイルWeb開発のロードマップ」が公開されている。ここでは、このロードマップを整理し、特にASP.NET 2.0におけるモバイルWeb開発の現状を確認する。

●1.1. ASP.NETモバイルWeb開発ロードマップの整理と要約

 筆者なりにロードマップを整理して、ASP.NET 2.0におけるモバイルWeb開発の要点をまとめた。ポイントは以下の2点だ。

(1)モバイル・コントロールとデバイス・アダプタについて
 ASP.NET 2.0で利用できるモバイル・コントロールとデバイス・アダプタ(=携帯電話などの各デバイスに対応したレンダリング処理を提供する機能)は、

  • ASP.NET 1.1モバイル・コントロール
  • デバイス・アップデート4まで(現時点で最新)のデバイス・アダプタ

の2つである(この2つはASP.NET 2.0でモバイルWebサイト開発を行ううえで最低限必要となるもの)。デバイス・アップデート4のリリースが3年以上も前(2003年12月)であったことを考えると、「本当にASP.NETで現在の携帯電話に対応できるのか」と不安を覚える方も多いだろう。

(2)ASP.NET 2.0からの新機能
 ASP.NET 2.0では下記のような新機能が追加されている(なお、ここではそれぞれの説明は割愛する。詳細や利用方法については、本連載の中で解説していく)。

  • デバイス・フィルタが簡単に追加可能
  • デバイス単位でのクッキーレスを実現(ASP.NET 1.1ではアプリケーション単位)
  • ブラウザ・ファイルが簡略化され、開発者が更新可能
  • 開発者がコントロール・アダプタ*1をカスタマイズ可能
*1 コントロール・アダプタはデバイス・アダプタの一種で、コントロールに対してデバイスごとのレンダリング処理を行う機能。

●1.2. 個々のデバイス別の対応は開発者の手に

 マイクロソフトは基本的に個々のデバイスに対するアップデートを行っていない(つまり新しいデバイスが登場しても対応されないということ)。その代わりに開発者が自分でカスタマイズして各デバイスに対応できる方法を提供している。その方法には以下の2つがある。

(1)既存のデバイス・アダプタをカスタマイズする

(2)マイクロソフトが提供するツール・セットで、独自のデバイス・アップデートを作成し、それを利用してデバイス・アダプタをアップデートする

 本稿で解説するのは、「(1)デバイス・アダプタをカスタマイズする」方法である(こちらの方が開発が容易なため)。

 それではさっそく、デバイス別の対応を行うモバイル用Webサイトのサンプルを作成してみよう。

 

 INDEX
  [連載].NETでモバイル・サイト開発を始めよう
  第1回 ASP.NETによる携帯サイト開発は七転八倒?!
  1.ASP.NETによるモバイルWeb開発の現状
    2.デバイス・フィルタのデバイス識別機能
    3.デバイス・フィルタの利用方法
    4.エバリュエータ・デリゲート型フィルタ
 
インデックス・ページヘ  「.NETでモバイル・サイト開発を始めよう」


Insider.NET フォーラム 新着記事
  • 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間