最近、本格的に JavaScript をやろうかな、みたいなノリが出てきたので界隈の意味不明な用語をまとめてみました。
用語 | 説明 | 今使う? |
---|---|---|
node.js | サーバーサイド JavaScript(ブラウザ以外でも動く)。 | ○ |
nvm, nodebrew | node.js のバージョン切り替える君。 | ○ |
npm | node.js のライブラリ管理ツール。Java で言うところの maven。 pom.xml = package.json |
○ |
ES2015(ES6) | 標準化された(ベンダー依存のない) JavaScript。ECMASCript の 6th Edition。 最近のブラウザでは概ね動作するが、動かないブラウザもあるため、後述の Babel 等のトランスパイラで ES5 などに変換する必要がある。 |
○ |
Babel | ES6 -> ES5(これ only ではない)に変換する君。トランスパイラと呼ばれる。 | ○ |
webpack | 複数のモジュールを1つのファイルにまとめる。モジュールバンドラと呼ばれる。 ブラウザで動かす際は webpack か browserify を使ってモジュール機構を利用できるようにする。 |
○ |
browserify | require を使ったコードをブラウザでも動くようにする君。 Babel がやってくれないの?と思ったが、Babel は import -> require にするだけで、それはブラウザで動かないので browserify が必要。 |
△ |
bower | クライアントサイド JavaScript のライブラリ管理ツール。 npm = サーバーサイド、bower = クライアントサイド、という住み分けだったらしいが、npm に統一されるらしい。 |
✕ |
yarn | npm のラッパー。package.json, node_modules/ など、同じファイル・フォルダを利用する。 出た当初は npm でバージョン勝手に上がる問題など、幾つかの npm の問題を解決できたが、npm v5 でここらへんも解決できるようになったので、あまり優位性はなさそう。 |
✕ |
Grant, gulp | タスクランナーと呼ばれるもの。maven で、mvn package とかすると、compile して test として jar にするのをよしなにやってくれるが、そういう複数のタスクを書くためのもの。 現在は npm scripts で十分という声もあり、開発は停滞気味。 |
✕ |
TypeScript, CoffeeScript | JavaScript っぽいもの。AltJS(JavaScript を代替するもの) と呼ばれる。 ちなみにこれらをブラウザで動かすにはコンパイルが必要で、それぞれのコンパイラが存在する。 |
✕ |
「今後使う?」は個人的な印象でしょうか。世の中のムーブメント的な話でしょうか。
node.js のバージョン切り替えは n でやることが多いですね