ChaboのFF11日記+(跡地)

IfritサーバでFF11をやっていたChaborinの日記でした。

ASP開発者から見たASP.NET

最近、ASP.NETについていろいろと情報収集する機会が多くなっています。
理由はいろいろあるけど、仕事で微妙に使えそうという感じだからです。
だけど、まだこの分野で「すげー」というページには出会ったことがないです。
なんというか、どれもとっつきにくい。


理由を考えるに、どうもこのWebフォームとやらが邪魔をしているような感じがします。


ASPの開発というのは、基本的にHTMLにコードを埋め込んでいく形式なので、HTMLに精通しつつ、その上でどのようなコードからHTMLを作るかがポイントになってくるわけですね。
ところがこのASP.NETというやつは、そういうHTMLの知識なくプログラムを書くことができるし、作りがASPというより、Visual Studioみたいな統合開発環境(RAD)上で、フォームをいじりながら作るという形がメインになってきているようです。


ASP技術者からすれば、まずこの時点でアレルギー反応なわけですよ。


だけど、よくよく見るとASPちっくなこともできるみたい。でもそのやり方に拘っていたら、ASP.NETが提供してくれる甘い汁を甘受することはできないと、そういう感じ。
例えば、ASP技術者なら誰でも作ってきただろう、DBから情報を取得して、リストページを表示するやり方は、ASPだとこんな感じだろうか。

ASPの場合

  • とりあえず、DBにコネクション貼ってSQLを投げ、Recordsetを作る。
  • HTMLで、ヘッダとTABLEタグの始まりを書いておく。
  • できたRecordsetを使って、TABLEの内容をループで表示させる。
  • Recordsetをクローズし、コネクションを切断。
  • TABLEタグを閉じ、HTMLを終了。

大まかなところはこんな感じ。Recordsetを回すのではなく配列に格納したりする方法もあるけれど、だいたいはこんな感じでしょう。
これをASP.NET(Visual Studio.NET開発環境)でやると、

Visual Studio.NETで作った場合

  • サーバーエクスプローラを開く
  • 表示したいテーブルをFormにドラッグ&ドロップ
  • データセットを生成。このときSQLが必要ならちょっとプロパティを修正
  • WebフォームからDataGridをドラッグ&ドロップ
  • プロパティの値を調整
  • 表示用のコードをちょろっと書く
  • 最後にHTMLを調整

なんかもう別物でしょ。まったく違うんですよね。
ASPというより、むしろVB6などの開発環境の作り方のほうに似てる。
しかも、慣れればASP.NETのほうが圧倒的に作るのが速い。


あとで生成されたコードを見ると、結構見慣れたOpen命令とかがあってにやっとすることはあるけれど、それはあくまで中身を見るという行為なだけでね。
ASPで繰り返してきたメインの作りはほとんど必要ない。どんどん開発にかかる手数が少なくなっていきます。
その上で、今までのASPで培ったプログラムテクニックも使える。なかなかいいじゃないですか。