Webの勉強

Web系の作業で得た知識を備忘録として記録。間違ったていたら、ごめんなさい。

node.jsやらnpmやら

フレームワークを調べるようになって、よくでてくるワードを調べてみました。

* node.js
→当初javascriptはあくまでブラウザで表示するために生まれたものでした。しかし、「Javascript 最高!ブラウザで使うだけではもったいない!汎用言語にしよう!」ということでした。しかし、言語の#includeのように、他のファイルを読み込むことができませんでした。そこで、 他の言語のように、いろいろ仕様を策定していったのが、"CommonJS"。仕様を実現するためのライブラリの一つとしてうまれたのが、"node.js"。こうして、rubyのように実行できるようになりました。

$ node helloworld.js

そして、node.jsでかかれた便利ツールたちが、"npm"というパッケージ管理ツール内に集められ、コマンドラインからそれら便利ツールを使えるようになりました。
- bower
→クライアントサイド用のパッケージ管理ツール(node.jsではなく、ブラウザで動く昔ながらの Javascript のためのパッケージ管理ツール。しかし、bower自体がnode.jsで作られている⇒node.jsを動かすためにはnpmが必要。ということで、bowerを動かすためにはnpmをインストールする必要があります。)
- npm
→サーバーサイド用 のパッケージ管理ツール

  • browserify
    →node.js として書かれた Javascript はそのままではブラウザで動きません。browserify を使うと、まるでC言語機械語コンパイルするように、node.js スタイルで書かれたコードをブラウザ上で動くものに変換 することができます。

そのため、C言語のように高級言語で実装後にブラウザで動くようにす るためには、以下の手順を行う必要があります。 1. node.js のインストール
2. npm で browserify をインストール
3. CommonJS スタイルでコーディング
4. browserify でブラウザ向けにビルドして表示

browserifyは毎回実行するのが面倒ということで生まれたのは、gulp・gruntの統合環境。 いろんなことを便利にしよ~!として、幾重にもライブラリが積まれているのですね。。

参考サイト qiita.com