フレームワークの存在意義と
ASP.NETの概要
だが、冒頭に挙げたようなWebサービスの進展や業務システムのWeb化が一気に進み、アプリケーションの構成が複雑で大規模になってきた。Webアプリケーションの開発に関しては、プログラムコードを書く開発者、インターフェイスを設計するデザイナー、サーバーやネットワークを切り盛りするエンジニア、そしてWebサイト全体を統括するアーキテクトなど分業化が進んだ。こうしたことから現在のWebアプリケーションの開発環境は、バックエンドのロジックとユーザー側のレイアウトやデザインをきちんと分離できること、複数ユーザーによる開発、テスト、登録などがスムースに行なえること、そしてシステムの複雑さを隠ぺいし、より効率的な開発を実現すること、などが求められるようになっている。
これを実現するために生まれたのが、Webアプリケーションで再利用可能なコードをまとめて構成された「フレームワーク」という概念だ。実行環境はもちろん、開発環境やテストツール、ユーザーインターフェイスを開発するライブラリなどが用意されたフレームワークを利用すれば、開発効率が格段に向上する。
こうしたWebアプリケーションのフレームワークとしてはJavaベースのStrutsやJSF(JavaServer Faces)、PHPのSymphony、Zend Framework、最近ではRubyベースのRuby On Railsなどもよく知られている。そして、マイクロソフトのASP.NETもこうしたWebアプリケーションのフレームワークの1つだ。
ASP.NETは、マイクロソフトの.NET Frameworkで用いられているWebアプリケーション開発のためのフレームワークである。.NET FrameworkとはWindowsアプリケーションやXMLベースのWebサービス、そしてWebアプリケーションまで統合するアプリケーションの開発・実行環境を指す。マイクロソフトのアプリケーション戦略のまさに根幹に位置する技術で、異なる開発言語を共通言語に変換して、ランタイム上で実行することにより、言語に依存しない開発・実行環境を提供するのがもっとも大きな特徴になっている。最新のWindows OSでは標準搭載されており、先頃NET Framework 4の提供が開始された。
ASP.NETは、この.NET Frameworkの一部であり、ASP.NETのWebアプリケーションは.NET Frameworkのクラスにアクセスすることになる。ASP.NETでは言語に依存しないという.NET Frameworkの特徴を引き継いでおり、Visual BasicやC#などさまざまな言語で開発が行なえる。
ASP.NETの最大の特徴は、Windowsアプリケーションを開発する感覚で、Webアプリケーションを開発できるという点に尽きる。統合型開発ツールであるVisual StudioのGUI環境上で、コントローラやテキストなどの部品を貼り付け、プロパティやイベントを記述するというデスクトップアプリケーションと同じ作法で、Webアプリケーションが開発できるのだ。ASP.NETを用いれば、Webアプリケーションで必要なHTTPのやりとりを意識せずに、しかも見た目を確認しながら、アプリケーションを開発できることが可能になるわけだ。
GUIでできる!Webフォームでの開発
ASP.NETを使って開発を行なうには、統合開発ツールVisual Studioのほか、無償の「Visual Web Developer Express」が利用できる。具体的にはこれらのツールでASP.NETのプロジェクトを生成し、サーバーに配置する。ページにアクセスした際にクラスファイルを呼び出し、動的にコンパイルするという方法でもよいし、開発したコンピュータでコンパイルしたバイナリをサーバーに配置してもよい。
開発ツールで生成されるASP.NET Webページ(.aspx)はサーバーコントロールとASP.NETで実行されるコードを含む動的なページを指し、これをサーバーで実行することでHTMLとして出力される。このうち、サーバーコントロールとは、テキストボックスやボタン、チェックボックス、メニューなどのパーツを指す。サーバーコントロールを使うと、ユーザーの操作を容易にしたり、入力した値をチェックしたり、ログインコントロールを行なったりといった処理を簡単に組み込める。
さて、次回は最新ASP.NETの魅力となっている3つの機能について紹介していきたい。
エンドトーク
岩崎課長:なるほど。確かに普段使っているWebサイトは使い勝手はすごい向上しているからな。ページを書き換えてないのにクルクル回るリストから選択できたり、マウスを置くだけで、画像がポップアップしたり。ああいうのを見ると、条件で旅行先や宿を探して、注文を受けるだけのアズルトラベルのサイトは厳しいな。
坂本:そうなんです。ですけど、リッチなWebサイトもイチから手組みしているんじゃなくて、再利用可能なライブラリを使っているんです、しかもそのライブラリがフレームワークに含まれたりしているんです。
岩崎課長:つまり、適切なフレームワークと開発環境を選択すれば、リッチなインターフェイスも実現できるし、開発効率も上がるってわけだな。で、どういうフレームワークにするんだ?
坂本:私も自分のWebサイトで使っていたPHPを考えたんですけど、今はASP.NETかなあと考えています。ということで、来週マイクロソフトのVisual Studio 2010のセミナーがあるので参加してきます。
岩崎課長:そうか!じゃあ、情報収集頼むぞ!
今回のポイント
- ・ユーザーインターフェイスのリッチ化がますます進行中
- ・デザインとプログラム開発を分離するフレームワークが浸透
- ・デスクトップアプリケーションと同じ感覚でWebアプリケーションを開発できるASP.NET
すべらないWebアプリ開発はASP.NETから!by 坂本
ということで、ASP.NETやVisual Studio 2010に興味を持ったユーザーはさっそく以下のドキュメントを一読してみよう。最新のWebアプリケーション開発のノウハウや、マイクロソフトのソフトウェア開発のネタがギッチリ詰まっているぞ。
Microsoft Web 開発 ガイドライン ~ ASP.NET プログラミング エッセンシャル~
http://msdn.microsoft.com/ja-jp/asp.net/ff602016.aspx
ASP.NET 開発者向け技術情報
この連載の記事
-
最終回
データセンター
スクウェア・エニックスがコマースでASP.NETを採用する理由 -
第6回
データセンター
ヤフーが「GyaO!」でSilverlightを採用する理由 -
第5回
データセンター
PHP on Windowsで速攻Web開発を実現 -
第4回
データセンター
わがまま?WordPressをIIS上で使いたい! -
第3回
データセンター
習うより慣れろ!ASP.NETでWebアプリを作る -
第2回
データセンター
最新ASP.NETを知るための3つのキーワード -
クラウド
マイクロソフトのWeb開発ツールで中身も見た目もクールに - この連載の一覧へ