遅れながらjspm
に触った。
JavaScriptのパッケージマネージャ、ブラウザ未サポートの新鋭機能をES5にしてくれるようなトランスレータ、おまけにバンドルも勝手にしてくれるすごいやつだ。 System.jsとの併用をオススメしているが、ぶっちゃけるといらないぐらい便利だ。
ES6以降のJavaScriptは最初が面倒くさい
今現在、新しめのJavaScriptの環境で開発しようとすると、開発環境づくりが面倒くさい。
理由として、ちょっと昔話。
ES6以降、JavaScriptは複数ソースコード間の連携についてやっと取り込み始めたが、ES5既存そのまま開発者が使いだすと、色々問題がでてくる。
ひとつが、新機能文法の実装が、各ブラウザの足並みがそろわないこと。(新鋭のものでも、結構遅い。古いIEなんかは実装すらしない)
ふたつめに、ファイルを分割しまくると、下手すると数百個のファイルをブラウザがダウンロードすること。(しかもjsごとに依存チェーンを解決しながらなので、ほぼシーケンシャルにファイルをダウンロードすることになる。。)
これらの解決に、色々ツールを使っている(ES6→ES5へのTranslate、1つのjsファイルにするbundleなど)。 相互の設定が非常に面倒くさい。それぞれコマンドラインツールなので、だいたいtask runnerを導入してビルド自動化するが、プロジェクトごとにファイル構成が違ったり、あとスクリプトファイルのメンテも面倒くさい。
jspmが解決してくれること
jspmは、上記でやることを一つのコマンドラインツールにパッケージングしたツールだ。 つまり、ツールの個別インストール+タスクランナーに書かなければいけなかったことを、全部中に隠ぺいしてくれる。
jspm init
としたら初期設定とどのTranslator使う?とか設定できたり、コマンド一発でbundleできたりする。
ライブラリの導入も、jspm install
とNodeライクにできてしまう。
ES2015+の過渡期、JavaScriptの敷居を下げるのに大いに役立ってほしい。