Node.jsでWebアプリケーション
最近よく耳にすることが多くなったWebアプリケーションと言えば、Node.jsですよね!! 今回はJavaScript Webアプリケーションの「Node.js」について紹介したいと思います。
1.Node.jsとは
そもそもJavaScriptはクライアントサイドでは?と思っているかもしれませんが、 今やJavaScriptはサーバサイドでも動作します。それを可能にするのがNode.jsです。
Node.jsとは、JavaScriptがサーバ上でプログラムを実行できるように、ファイルやネットワークI/Oなど多くの機能を備えたもので、軽量なネットワークアプリケーションを構築できるプラットフォームです。
2.注目されている理由は?
近年のスマートフォン、タブレットの急速な普及により、JavaScriptの需要が増えたことが注目されている一つの理由です。 また、HTML5/CSS3の出現で、Web系には必須のスキルとなっているのがjavascriptなのです。
3.何がいいの?
・環境構築が手軽 Windows、Mac、UNIX系のどのOSでもインストールするだけで環境構築ができる。 →もちろんPATHは設定しないといけないけど。。
・サーバーサイドとクライアントサイドを一つの言語で開発できる 今までのWeb開発はたくさんの言語を組み合わせて実現していたが、Nodeを使えばサーバーからクライアントまですべてJavaScriptだけでよい。
・リアルタイムWebが可能 タイムラグなし(リロードせず)に情報を更新できる。Facebookなどによく使われている手法。
・ノンブロッキングI/Oを採用 例えば、データベースに問い合わせ→結果の受け取り→後処理をコールバックで行う。 このように基本的に重い入出力処理を非同期で実行することができる。
・イベントループ方式を採用 リクエストやコールバックの発生はイベントとして扱い、そのイベント処理が終わったら、次のイベントを処理するといったように 待ち合わせを行い順番に処理することでアクセスが集中したときにも対応できる
・ライブラリが豊富 WebSocket、HTML記述の効率化(jade)やjsの圧縮(uglifyjs)、テスト(karma)、デバッグ(weinre)などたくさんのライブラリがある。
・学習には最適 言語の基本的なことが理解でき、オブジェクト指向も身につく。
4.何ができるの?
これにより、今までなにかと面倒だったチャットなどが手軽に作れるようになります。 もはやjsだけでなんでもできてしまう時代。。
インストール方法は、簡単なので割愛。→ググってみて!! 次回は、実際にNodeを使って簡単なチャットを作ってみたいと思います。