「ASP.NET Web Form」か「ASP.NET MVC」か?
.NETによるWebアプリ開発の今を徹底討論
Tech・Ed Japan 2009/BoF「ASP.NET Web Form vs. ASP.NET MVC in Japan」レポート
本稿は先日開催されたTech・Ed Japan 2009のイベントレポートです。「Birds of a Feather」の一つ、「ASP.NET Web Form vs. ASP.NET MVC in Japan」のセッションレポートを要約してお伝えします。Webアプリケーション開発では、従来型のWeb Fromと、新しいASP.NET MVC、どちらの手法を採用すべきなのか? 会場の参加者を交え、さまざまな視点でディスカッションが行われました。
はじめに
8月28日にパシフィコ横浜で開催されたMicrosoft Tech・Ed Japan 2009内のコンテンツ「Birds of a Feather(以下、BoF)」の1コマ、著者も登壇した「ASP.NET Web Form vs. ASP.NET MVC in Japan」についてレポートします。
BoFではタイトル通り、ASP.NET Web Form(以下、Web Form)の開発と、ASP.NET MVCの開発についてそれぞれのメリット、デメリットをディスカッションしました。
また、本レポートを書くにあたり、登壇者の小野さん、竹原さん、また参加者として多くの発言をしてくださったほか、改めて背景を説明してくださった菊池さん。さらにBoFに参加して下さった皆さんに感謝致します。
登壇者紹介
- 小野 修司(Web Form担当)
- 竹原 貴司(MVC担当)
- 長田 直樹(司会進行:ナオキ)
日本語のことわざで言うと「類は友を呼ぶ」という意味にあたり、ある特定のテーマを取り上げるセッション形式で、コミュニティイベントでよく実施されています。講師への質問に対して参加者も交えて意見交換をするなど、有用な情報が共有される取り組みの一環として多くの参加者の方から好評です。
参加者全員がASP.NET開発経験あり!
開催趣旨
ナオキ:Web Form vs. ASP.NET MVCと書かれていますが、現場の皆さんがどのような使い方をしているのか? どのようなシナリオで、Web Formを使うのか? どんな時にASP.NET MVCを使えばいいのか? をディスカッションをしていきたいと思います。
それでは、ディスカッション前にそれぞれのフレームワークの特徴を説明して頂きます。まずはWeb Formからです。

Web Form概説
小野:最初に、ASP.NETを触ったことがないい方挙手してください。
――会場内で誰も挙手せず、参加者50名以上がASP.NET開発経験者という中でのBoFの開始となりました。
小野:基本的な特徴は皆さんご存じだと思いますが、ASP.NETは1.0の頃からWeb Formという形で開発を行ってきました。最近はASP.NET MVCというフレームワークが出てきたため、従来の開発方法を区別してWeb Formと呼んでいます。Web Form開発の特徴はコントロールをドラッグアンドドロップし、昔のVisual Basic的な作り方(コントロールを画面に配置し、クリックしてイベントハンドラに処理を記述する)をすることが多く、RAD(Rapid Application Development)的な開発ができるのが一番の特徴です。どちらかというと、外部インターネット上で公開というよりも内部(イントラネット内)でデータを収集・活用するアプリケーションに向いているともいえます。

小野:Web Formでは、コントロールを張り付けてプロパティを変えることで、生成されるHTMLなどが変わってきます。このように自動化/隠蔽化された部分がWeb Formには多いです。
意外と簡単にアプリケーションが作れる反面、簡単にできるが故に内部をしっかり把握していないと思わぬ落とし穴にはまってしまうことがあるとも言えます。

Web Form~完成系の1つDynamic Dataアプリケーション~
小野:このWeb Formのサンプルアプリケーションとして皆さんがあまり見てないであろう、「ListViewコントロールを利用するDynamic Data」のデモをお見せします。Dynamic Dataアプリケーションは、LINQ to SQLやEntity Data Modeの定義をするだけで、簡単にデータベースの操作ができるというのが特徴です。
――ここで、Dynamic Dataの特徴であるValidationや、Dynamic Dataのプロジェクトソリューションの解説が行われました。Dynamic Dataに関しては「簡単なデータ編集はお任せ!ASP.NET Dynamic Dataアプリケーション」も参照してください。
小野:DynamicDataManagerコントロールの設定だけは行っていますが、それ以外のコーディングは行っていません。検証や、表示方法は全て自動で行われます。Dynamic Dataの場合、コントロールを独自に張り付けているわけではなく、データに応じたユーザーコントロールが用意され、その中にValidationコントロールなども格納されています。このようにコントロールを組み合わせて、できる限りコードを書かないでシステムを構築することがWeb Formの最終的な形だと言えると思います。
ナオキ:以上が、Web Formの紹介です。続いて、ASP.NET MVCの紹介を竹原さんの方から説明とデモを行っていただきます。
この記事は参考になりましたか?
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト ナオキ(ナオキ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
