2012年6月6日水曜日

JSXを使ってみたメモ


話題のjsxを使ってみたので、その際のメモを残します。


■JSXの売り
・高速(関数のインライン展開、定数の畳み込みなど最適化)
・静的型付け言語でチームでの大規模開発に向いている
・javascriptの技術者は容易に習得可能
・Javaっぽく書ける

特徴はここにまとまっています
http://ginpen.com/2012/05/31/jsx/

JSXはなぜ「速い」のか
http://d.hatena.ne.jp/kazuhooku/20120602/1338641072

チュートリアル
http://jsx.github.com/tutorial.html

ブラウザからコンパイラの動作を試せます
http://jsx.github.com/try/


■使ってみた感想
・javaっぽく、かなり綺麗に書ける
・クラス分割してモジュール開発といった手法がかなりとりやすい
・外部ライブラリや既存の資産のうち、javascriptの特性(prototype継承など)に依存しているものは移植しにくい
・javascriptの特性を柔軟に利用したいならcoffee-scriptの方が向いている

外部ライブラリ(jQuery)を組み込んだ例
http://d.hatena.ne.jp/nishiohirokazu/20120531/1338462986


■コンパイラの動き(わかったことだけ)
・デバッグモードとリリースモードがある。
・jsxとjsで関数名が変わる(引数の型や数を表す識別子がつく)
・実行時エラーが飛ぶような型チェックは、デバッグモードでのみ行われる。
・リリースモードの場合、パフォーマンスのために型チェックは行われない。(公式ドキュメントに記述あり)
※ Run-time type checks can be omitted by compiling the source code with the --release option