JavaScriptは、ブラウザ上で動的なアクションを実現するためのプログラム言語です。サポート終了となったFlashやSilverlightに代わるリッチクライアント目的の他、SPA(Single-Page Application)と呼ばれるプログラム手法(不必要にサーバーへのリロードを行わず最低限にし、ブラウザ側でプログラムを動作させる方法。主にバリデーションチェック等で利用)によく利用されます。
JavaScriptはブラウザ上でのみ動作します。しかしNode.Jsを利用することでOSへのアクセスも可能となり、PHP、Python、Rubyと同じようにサーバーサイドのWEBアプリケーション開発に利用することもできるようになりました。
ここではこのJavaScriptとその開発環境、フレームワークについてまとめたいと思います。
1.JavaScriptのフレームワーク
JavaScriptのフレームワークとしてはjQueryが一番普及しています。
jQueryはJavaScriptのコード記述を楽にしようとする目的のフレームワークです。
一方、ngularJS、Express、Node.JsはMEANスタックと呼ばれるSPAの実現のためのフレームワークで、MEANはそれぞれ
MongoDB:テキスト指向DBMS
Express.js:フロントエンドフレームワーク
AngularJS:フロントエンドフレームワーク
Node.js:サーバーサイドJavaScript実行環境
の頭文字を取ったものです。LAMPに代わるすべてをJavaScriptで記述できるサーバーサイドのWEBアプリケーション開発環境です。
同じフレームワークといってもjQueryとAngularJS、Node.Js、Expressとはその使用目的が違います。
jQuery
JavaScriptのフレームワークのデファクトスタンダードです。JavaScriptと比べ非常にシンプルな記述で必要な機能を実現できます。無償。商用可。OSSのMIT Licenseで運用されています。
jQuery(https://jquery.com/)
AngularJS
AngularJSはMVCモデルをブラウザ上で実現するフロントエンド向けJavaScriptフレームワークです。以下のようにMVCモデルを実装できます。MEANスタックと呼ばれるJavaScriptで全てのシステムを構築するという考え方において、フロントエンド部分を担当するフレームワークです。無償。商用可。OSSのMIT Licenseで運用されています。
MVCモデル |
プログラム言語 |
M:Model |
JavaScript |
V:View |
HTML、CSS |
C:Controller |
JavaScript |
AngularJS(https://angularjs.org/)
Express
MVCモデルをNode.Jsによるサーバーサイド上で実現するJavaScriptのフレームワークです。無償。商用可。MIT Licenseで運用されます。
Express(http://expressjs.com/)
Node.Js
Node.Jsは、サーバーサイドJavaScriptを実行するためのアプリケーションサーバー(JavaScriptの実行環境)です。JavaでいうTomcatやGlassFishにあたる製品です。無償。商用可。OSSのMIT Licenseで運用されています。
Node.Js(https://nodejs.org/en/)
3.JavaScriptのIDE
JavaScriptのIDEはHTML、CSSのIDEとほぼ同じです。HTML、CSSのIDEは別ページにまとめています。