node.jsで作るWebサーバー
価格: ¥0
はじめに
本書はとにかくnode.jsを使って、ローカル環境にWebサーバーを構築する方法を忘れがちな人のために、手元にあるKindle端末もしくは、スマートフォンのKindleアプリを開いて、簡単に思い出せることを目的とし、node.jsの仕組みには触れていません。
Webサーバーとは何か、なぜWebサーバーが必要なのかということは既に理解した読者を対象にしています。node.jsは、サーバー側でJavaScriptを実行できるようにするフレームワークで、Webブラウザ上でしか動作しなかったJavaScriptを、PHP、Java Servlet、ASP.NETのように、サーバー側の処理をJavaScriptで記述することを可能にしました。
筆者は、職業訓練校でPHPを重点的に教えてきたのですが、Android、iOSだけでなく、Windows 8、Firefox OSなどHTML5でのアプリ制作に時代が移行しつつあります。今後、筆者の講座内容もHTML5アプリ、サーバーサイドJavaScriptに移行していく予定で、node.jsの開発環境構築マニュアルが急がれるという事情がありました。講座で使用する開発言語をJavaScriptに一本化するためには、AjaxのセキュリティーポリシーのためのWebサーバーとしてXAMPPをインストールして学習することはできるだけ避けたいと考えています。
本書は、筆者の備忘録となるだけでなく、生徒にも、また同じような要望のある方にも利用していただけたら幸いです。またiOS、Androidの両プラットフォームの開発を意識して、Macを使った開発をされている方や、デザイナー出身の方も多いことと思いますので、Macでの環境構築にも触れています。
第2版発行について
node.jsはLAMP環境とは異なり、サーバー機能そのものを自分で作成することができ、Webアプリケーション構築の自由度が高くなっています。しかしながら現実的には労力もかかるため、expressなどのMVCフレームワークを使用することが多いと思います。
初版ではexpressを使用したものの、手動でディレクトリ構成を作成しましたが、改訂第2版では、expressの機能を使って、コマンドからexpressで使用するディレクトリ構成を自動生成する方法に改訂しました。
expressはRuby on Railsの考え方に似た、サーバーサイドJavaScriptのMVCフレームワークです。ただし、Ruby on Railsと違い、コントローラー部分しか持たず、モデル部分は自分で作成し、ビューの部分はJadeやEJSなど、いくつかあるテンプレートエンジンから好きなものを選ぶ形になっています。
本書はローカルWebサーバーをnode.jsを使って、手短に構築することを目的にしていますので、expressのMVCフレームワークとしての使い方には触れていませんが、今後node.jsを活用したアプリケーションの作成方法やホスティングサービスへのデプロイ方法など、別の書籍で解説していく予定です。