.NETによるスマートフォンWeb UI開発ガイド【導入編】

Webフォーム vs. ASP.NET MVC
 ― スマートフォン向けWeb開発で使えるのはどっち?

WINGSプロジェクト かるあ(監修:山田祥寛)
2011/04/18
Page1 Page2 Page3 Page4

それぞれの特徴の確認と、適用範囲

 以上、ここまでWebフォームとASP.NET MVCで同じようなアプリを作成して、どちらがよりスマートフォンに向いているかを検証してきた。あらためてそれぞれの技術の利点と欠点を確認してみよう。

(1)Webフォームの利点と欠点

 Webフォームを利用すると、ほとんどコーディングが必要なく、コントロールの設定のみで、ある程度、スマートフォンに対応したWebページを作成できる。

 しかし、出力されるHTMLコードには、場合によってWebフォーム特有の大量のビューステート(ViewState)が出力されるため、ページ・サイズは大きくなりがちだ。また、コントロール側でHTMLコードの出力が制御されるため、細やかなデザインの修正は意外と手間がかかる。

 Webフォームでのスマートフォン向けWeb開発では、サーバ・コントロールを利用し、高い開発生産性を得られる半面、ページ・サイズや、出力されるHTML/CSSコードなどのデザイン(の見た目や使い勝手)が、スマートフォン上でどこまで許容可能かなどに注意する必要があるだろう。

(2)ASP.NET MVCの利点と欠点

 HTMLコードを直接記述している分、Webフォームと比べるとコーディング量が増えた印象がある。最終的に吐き出されるHTMLコードは、Webフォームに比べてスリムになり、しかもシンプルなHTMLコードであるため、jQuery Mobileによるスタイル(=見た目)の適用も問題なく行える。

 今回は触れなかったが、ASP.NET MVCを利用するとビュー(View)とモデル(Model)が分離されるため、Webフォームに比べて「ビューの差し替えが容易になる」「単体テストが容易になる」といった点も、本格的な開発を進めるうえでは大きなアドバンテージになるだろう。

 ただしASP.NET MVCを利用する場合、HTMLやCSS、JavaScriptと深くかかわっていかなければならなかったり、命名規則を念頭においた開発方法など、WindowsフォームやWebフォームしか触ったことがない開発者には若干とっつきにくい部分があったりするのは確かだ。

まとめ

 ASP.NET MVCが登場して以来、どちらの技術でWebサイトを構築すべきかは、ASP.NETを利用する開発者の間で何度も議論されてきた。

 「どちらがスマートフォン向けのWeb開発で利用しやすいか?」という問いに対しては、筆者が検証した手応えとしては、出力されるHTMLコードをきめ細かく制御できるため、画面の自由度やHTML5への対応の面で「6対4」でASP.NET MVCの方が扱いやすいと感じた。

 ただし、スマートフォンに向けたWebページの開発自体、比較的新しいテーマであることに加え、ASP.NET Webフォームのコントロール中心の開発で得られる生産性はおどろくべきものであるし、今後、さらに高性能なコントロールが登場することも考えると、いまのところ一長一短であり、これといった決め手はないと感じている。

 どちらかというと、これまでの経験や慣れ、「業務要件でどこまで許容できるか」といった政治的な部分が採用の決め手になると筆者は感じている。end of article

 

 INDEX
  .NETによるスマートフォンWeb UI開発ガイド【導入編】
  Webフォーム vs. ASP.NET MVC ― スマートフォン向けWeb開発で使えるのはどっち?
    1.Webアプリとネイティブ・アプリの比較
    2.Webフォームを利用したコントロール中心の開発
    3.ASP.NET MVCを利用したHTML中心の開発
  4.WebフォームとASP.NET MVCの使い分け指針

インデックス・ページヘ  「.NETによるスマートフォンWeb UI開発ガイド【導入編】」


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 記事ランキング

本日 月間