社内用にまとめたものだけど、そもそもTwitter上で流したもののまとめなのでこちらにも投げてみる。
//——————————
CoffeeScript
元からCoffeeScriptに慣れてるか、素のJSが書きにくいと感じる人にはおすすめ
素のJSが書きやすい人はロジック書きにくくなる部分あるので若干つらい
記述するコード量は減るけど、素のJSでもエディタとかのサポートがあれば記述時間はそれほど変わらないかも
(特に変換後のJS想像しながら書く場合)
ただ、素のJS好きな人でも対応は難しくないので、JS書きたくない人が開発するのであれば使うのはありかも
(OSとかの環境によって開発に支障が出ることはなさそう)
おすすめの使い方
サーバサイドの人がメインで書く場合
単体テスト用コード(ロジックは素のJS、テストはCoffeeScriptで書こうかな)
WebStorm
IDEとしての完成度は高いけど、エディタとしては好き嫌いあるかも。
(補完関係は優秀だけど、JSに特化しすぎてて逆に辛い)
他のツールと連携して動作する関係上若干機能的に辛い部分もある。
(nodeでブレークポイント打てないとか)
JsTestDriverとの連携は便利かも
SourceMapはないのでCoffeeScriptだとエラー時に行番号ずれる
おすすめの使い方
JSの統合開発環境が欲しい方
(emacsとか、vimに慣れてる人はいらないと思います)
JsTestDriver
Selenium Core+QUnit足したような感じのもの。
ちょっと触るくらいしかできてないけど、簡単に使えるし、普通のブラウザで実行されるし、CIも考えられてるので便利。
TDD考えると現状これがベストか。
おすすめの使い方
まだそこまで使ってないですが、普通に使えると思う。
Mocha
QUnitのmoduleやtest部分を切り出したようなやつ。非同期系を綺麗にかける。
okやequal部分はないの別のものを使う(chai、shouldのいずれかを推奨している)
ライブラリの初期化や、外部ライブラリの中で詰まる可能性もあるので注意。
おすすめの使い方
JsTestDriverである程度カバーできるのでどこまでつかうかは未判断。
chai、should
QUnitのokやequal部分。Object.prototypeを書き換えるので注意。
((‘hoge’).should.equal(‘hoge’)みたいな感じに書く)
Object.prototypeを書き換えないオプションもある?
使いやすいけどかなりきついフレームワーク。
(それにnull、undefinedはmethod chainできないし)
おすすめの使い方
ちょっとまだ使うには速いんじゃないか。
(ES5前提でDontEnum使うなら行けるか)
WebStorm+node.js+Mocha+chaiでクライアントサイドライブラリのテスト
若干表示がおかしい。chaiではなくshouldの方が安定してる感じがした
(ただ、shouldでもたまにおかしかったので、別の原因かもしれない)
ライブラリの中でおかしくなる可能性も高いので、どこが原因か突き止めるのが大変。
(ライブラリの中をいじれるレベルじゃないと難しい)
おすすめの使い方
クライアントサイドライブラリのテストには環境が違いすぎてキツイ。
node.jsでクライアントサイドライブラリのテスト
JSの実行環境としては普通に使えるけど、Ajaxとかのブラウザ系機能に触るのは難しい。
クライアントサイドのライブラリテストにはあまり使えない。
デバッグツールとかも含めて考えるとJsTestDriverの方がいい。
おすすめの使い方
クライアントサイドライブラリのテストに関してはJsTestDriverの方がいいのでnode.jsはやめたほうがいいと思います。