ASP.NET Webアプリ開発の裏事情

エピソード1:「ASP.NETってナニ?」と闘う!

―― 普通の言葉でASP.NETを啓蒙する ――

小田原 貴樹(ハンドル・ネーム:うりゅう)
2004/10/23
Page1 Page2

XMLやJavaScriptとはどう違うの?

 「ぐはぁぁぁぁっ!」

 上記の質問をぶつけられたときの筆者の心情を言葉にすると、こんな感じになる。

 顧客担当者のITに対する造詣が深い場合には、こんな質問も飛び出してくる。読者諸氏にはもちろんご理解いただけると思うが、XMLやJavaScriptはASP.NETと比較する技術ではない。しかし、これを一般のユーザーにも分かりやすい言葉で回答することは至難だったりする。

 それでもJavaScriptの方は筆者もよく使っているので何とかなる。しかし、XMLについては……筆者もよく分かっていない(笑)。XMLを使って、何かを明確に開発したこともない。もちろん技術者の端くれであるので、XMLについての解説を読んだりしたことはあるのだが、確信を持って「XMLとはこうです!」と語れる自信などない。

 筆者の勉強不足については大いに反省するとして、現場ではこうしたこともしょっちゅうだ。とにかくITは進歩が早く、目の前の案件開発に没頭している間に「浦島状態」になってしまうことも少なくない。この点顧客側は、無料のWebメディアを利用して、最新テクノロジーをウオッチしており、極めて表層的ながら、キーワードについては耳年増になっていたりする。このためあまり知らない技術について解説を求めたり、回答を要求したりする。「いやー、それについてはよく知らないんですよ」で済まされる場合もあるが、顧客側から見れば「この人は専門の技術者だから知らないことはないだろう」という先入観があるようだ(笑)。

 以下が、このXMLの質問に対して、実際に筆者が回答した内容である。質問を見てから慌ててサイトなどを調べて回答しているのだが、あまり細部について言及したくもないし、かといって回答しないわけにもいかないので、あいまいさがもろに見え隠れしている。内容の正当性についてもかなり自信がないが、あえてそのときの文章をそのまま掲載させていただく。

 XMLは見掛け上HTMLと似ていますが、ここまでに説明してきた言語とは違い、(本来の目的は)ホームページのための言語ではありません。

 XMLの用途は非常に広くさまざまなことに利用できますが、主には組織・言語を越えて、データの交換を行うために用いられます。

 XML言語は非常に注目されている技術ですが、基本的にはデータのやりとりのための言語であり、システムの裏方に利用される言語だといえます。

ASP.NETの特長をまとめる

 ここまでは、筆者が実際に遭遇した、ある顧客との質疑応答を紹介してきた。どちらかといえばASP.NETと、そのほかの技術の比較という形になっているので、最後に一般的な言葉でASP.NETそのものの特長をまとめてみよう。

 正直な話をすると、Webアプリ開発言語としてのASP.NETの最大のメリットは、「開発がラク!」という1点に尽きる。統合された開発環境「Visual Studio .NET」には、さまざまなコントロール・クラスが豊富に用意されており、それらの機能も非常に充実している。Visual Studio .NETを使ったASP.NET開発に慣れてしまうと、ASP.NETに開発効率の点で勝るWebアプリ開発言語は存在しないと確信する。

 筆者はもともと、ASPをメインに利用していたが、ASP.NETにどっぷりつかってしまった現在では、絶対にASPには戻りたくない。特にレンタル・サーバなどにおいて、サーバ側の運用環境に制約が出ることは分かっていても、ASP.NET以外では開発を請け負わないくらいだ。

 しかし、顧客に対して「開発がラクなので、ASP.NETでよろしく!」とはさすがにいえないので、顧客側に立ったメリットに言葉を変換する必要がある。筆者がASP.NETを顧客に対して勧める際には、大きく分けて以下の3点を強調するようにしている。

  1. エンド・ユーザーが使いやすい(機能が豊富)

     これは、ASP.NETのポストバックなどの技術によって、ページを移動しなくても同一ページ内で結果を反映できる機能が最も代表的だ。また、検証コントロールやカレンダー・コントロール、データグリッド(表)・コントロールなど、標準で豊富な機能が用意されているため、既存のWebアプリ開発言語では実現が難しかった高機能かつユーザー・フレンドリーなサイトを比較的容易に作成できる。

  2. スピードが速い

     ASPやPHPなどのスクリプト型の言語と比較して、コンパイル型を採用しているASP.NETが、Webサイトの動作スピード面でアドバンテージがあるのは当たり前のことだ(なお、ここでいうPHPはZendなどでコンパイルしていないスクリプトの場合である)。また、ショッピング・サイトなど同じテンプレートのページが繰り返し利用されるような場合には、動的キャッシュの利用などによってスピードを稼ぐことができる。Webサイトでは、エンド・ユーザーに対するレスポンス時間は特に重要視される点なので、顧客に売り込みやすい特長だといえる。

  3. 開発コストが低く小回りが利く

     開発コストが低いということは「安かろう悪かろう」ではなく、「決められた予算内で、より豊富な機能を持たせた、完成度の高いWebサイトを構築できる」ということになる。常に、「予算・納期」と「成果物の完成度」のはざまで勝負している現場の技術者にとっては、間違いなくメリットであり、結果として顧客およびエンド・ユーザーのメリットにも直結する。

 案件によって訴えるべき特長が変化するので、上記3点を必ず強調しているわけではないが、Webアプリの開発であれば大体どのパターンにおいても、汎用的に利用できる特長の解説だと思っている。ちなみに前述したホームページの更新システムの案件において、筆者が顧客に対してASP.NETを解説したのが以下の文章だ。

 ASP.NETは、マイクロソフト社が開発したホームページのための最新のプログラム言語です。Javaのようにゲーム*などを作成したりすることができない代わりに、簡単にWebサイトのコンテンツを更新する機能などを持たせたホームページを作成することに向いています。

* 顧客の多くは、なぜかJavaアプレットのゲームがJavaで作られていることを知っている。

 普通にHTMLで表現されたデザインの中に、必要なプログラムを埋め込んでいくだけでよく、開発にかかるコストが安くつきます。

 ASP.NETで作成された更新ページを持つサイトの場合、一般的には専用の管理画面が用意されており、管理者はそのページにアクセスし、ブラウザを使って必要な情報を修正します。それだけで一般のユーザーに表示される実際のページの内容が変更されるため、ちょっとした内容を更新するたびに技術者に依頼したり、HTML言語を習得したりする必要がなく、運用の手間が大幅に省けます。

 特にショッピング・サイトや、ホテルの予約サイトなど、定期的に情報を更新する必要のあるサイトに適しており、ASP.NETは徐々に広がってきている言語です。

 結論として、顧客に提案段階で投げ掛けられることになる「ASP.NETってナニ?」という問いに打ち勝つためには、まるっきり一般ユーザーである「顧客の言葉」で、ASP.NETのメリットを伝えられなければならない。そこがクリアできない限り、顧客にとってASP.NETは無価値になってしまう。

 まず現場の技術者が理解し習得しなければならないのは、実際のWebアプリ構築上のテクニックよりも、むしろ「普通の言葉でASP.NETを啓蒙する」ことではないだろうか。このコミュニケーション能力こそが、技術者に最も必要な能力なのである。とはいっても、まだまだ筆者もコミュニケーション能力を磨いているところだ。顧客とのより良いコミュニケーションを構築できるよう、筆者ともども、努力していただければ幸いである。End of Article


 INDEX
  ASP.NET Webアプリ開発の裏事情
  エピソード1:「ASP.NETってナニ?」と闘う!
    1.「ASP.NETってナニ?」
  2.XMLやJavaScriptとはどう違うの?
 
インデックス・ページヘ  「ASP.NET Webアプリ開発の裏事情」


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

本日 月間