Expressを導入しよう (1/7)
作成:2013-05-06 09:32
更新:2013-05-06 09:32
更新:2013-05-06 09:32
■フレームワークの利点と「Express」について
ここまで、Webアプリケーションの基本的な機能に関する処理の仕方について説明をして来ました。が、正直いって「思ったよりも面倒くさい」と感じたのではないでしょうか。
何しろ、何をやるにもすべて細かく自分で処理を書かないといけない。EJSを導入してテンプレートを使えるようになったけれど、テンプレートファイルを予めロードしておいてそれをレンダリングする、なんて処理を自分で書かないといけない。複数のページを用意したければ自分でURLごとのルーティング処理を作っておかないといけない。POSTされたデータはイベントを使ってデータをすべて取り出し、それをデコードして必要な値を利用できるようにこれまた自分で処理を書かないといけない。これでは、多数のページを持つ複雑なWebアプリケーションを作ろうという気も萎えてきます。
こうした処理の大半は、「Webアプリケーションなら必ず必要となるもの」だったりします。だったら、Webアプリケーションが使う機能をあらかじめすべて実装し、Webアプリケーションとしての基本的なシステムを用意しておけば、圧倒的に簡単に開発が行えるようになるはずです。
こうした考えで誕生したのが「Webアプリケーションフレームワーク」と一般に呼ばれるものです。単に機能を集めたライブラリではなく、Webアプリケーションとしての基本的なシステムそのものを提供するプログラムのことです。
Node.jsにも、このWebアプリケーションフレームワークは用意されています。中でももっとも広く使われているのが「Express」というものでしょう。
Expressは、EJSなどと同じく、Node.jsのパッケージとして提供されています。npmで簡単にインストールし、これを組み込んだサーバープログラムを作ることができます。またテンプレートエンジンにEJSなどを利用できるため、今まで作ったEJSテンプレートをそのまま再利用できます。
Expressには、Webアプリケーションのための基本的なシステムが構築されており、これに必要に応じて処理を追加していきます。Node.jsのみでの実装と同様に、イベントに処理を組み込んでいくという基本的な開発スタイルは変わりありませんが、用意されているさまざまなオブジェクトを駆使することで非常に簡単に必要な処理を組み立てることができます。
Expressのサイトは以下になります。ここでドキュメントなども公開されています。(※ただし、npmを利用するため、ここからライブラリファイルなどをダウンロードする必要はありません)
http://expressjs.com/
何しろ、何をやるにもすべて細かく自分で処理を書かないといけない。EJSを導入してテンプレートを使えるようになったけれど、テンプレートファイルを予めロードしておいてそれをレンダリングする、なんて処理を自分で書かないといけない。複数のページを用意したければ自分でURLごとのルーティング処理を作っておかないといけない。POSTされたデータはイベントを使ってデータをすべて取り出し、それをデコードして必要な値を利用できるようにこれまた自分で処理を書かないといけない。これでは、多数のページを持つ複雑なWebアプリケーションを作ろうという気も萎えてきます。
こうした処理の大半は、「Webアプリケーションなら必ず必要となるもの」だったりします。だったら、Webアプリケーションが使う機能をあらかじめすべて実装し、Webアプリケーションとしての基本的なシステムを用意しておけば、圧倒的に簡単に開発が行えるようになるはずです。
こうした考えで誕生したのが「Webアプリケーションフレームワーク」と一般に呼ばれるものです。単に機能を集めたライブラリではなく、Webアプリケーションとしての基本的なシステムそのものを提供するプログラムのことです。
Node.jsにも、このWebアプリケーションフレームワークは用意されています。中でももっとも広く使われているのが「Express」というものでしょう。
Expressは、EJSなどと同じく、Node.jsのパッケージとして提供されています。npmで簡単にインストールし、これを組み込んだサーバープログラムを作ることができます。またテンプレートエンジンにEJSなどを利用できるため、今まで作ったEJSテンプレートをそのまま再利用できます。
Expressには、Webアプリケーションのための基本的なシステムが構築されており、これに必要に応じて処理を追加していきます。Node.jsのみでの実装と同様に、イベントに処理を組み込んでいくという基本的な開発スタイルは変わりありませんが、用意されているさまざまなオブジェクトを駆使することで非常に簡単に必要な処理を組み立てることができます。
Expressのサイトは以下になります。ここでドキュメントなども公開されています。(※ただし、npmを利用するため、ここからライブラリファイルなどをダウンロードする必要はありません)
http://expressjs.com/
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※下図:Expressのサイト画面。
※関連コンテンツ