JSXはDeNAの開発したJavaScript代替えのプログラミング言語です。

JavaScriptの冗長的な書き方は嫌だ、もっと楽に書きたいと考えた人が生み出した代替え言語がCoffeeScriptです。そんなCoffeeScriptに似たJavaScript代替え言語がJSXです。DeNA社の生み出した魅力的なプログラミング言語になります。


デモです。左側がJSXのコード、右側はJavaScriptに変換されたコードです。


log関数はconsole.logに出力されます。


静的な型チェックも行われています。


こんな感じで文字列を与えるとエラーになります。


インタフェースもサポートしています。


ちゃんとエラーになります。


変数の宣言も強制されます。


デモです。シューティングゲームです。


花火のデモです。


Box2Dのデモです。落下するのみで動かせません。

JSXの特徴は大きく分けて3つあります。まず高速であることです。JSXではコンパイラーを使ってJavaScriptに変換するので変換する必要はなくJavaScriptネイティブとして動作します。場合にもよると思いますが、Box2Dの場合4〜27%のパフォーマンス向上が見られたとのことです。

二つ目は安全であるということです。これはJSXが静的型付けの言語であると言う特徴が挙げられます。コンパイル時に宣言も含めてチェックされるので、実行時の安全が確保されるようになります。

最後は習得の容易性で、JSXはプロトタイプベースではなくJavaのようなクラスシステムになっていることが特徴です。式や言語体系はJavaScriptに似ていますので、習得はさほど難しくないとのことです。

JSXはnode.js/JavaScript/Perl製のオープンソース・ソフトウェア(MIT License)です。

MOONGIFTはこう見る

Webブラウザ上でプラグインの必要なく実行できるプログラミング言語がJavaScriptだけであるという点において不満を感じている人は多いようです。オープンソースであればCoffeeScript、GoogleではDartそしてDeNAがJSXです。いずれも別な言語を使ってJavaScriptへ変換して実行しています。

別な試みではJavaScript上にVMを作り、その上で別なプログラミング言語を実行する試みがあります。emscriptenのようにLLVMからJavaScriptへ変換するプロジェクトもあります。最終的にJavaScriptに帰結してしまうのが難点ではありますが、開発効率は向上するのではないでしょうか。

JSX - a faster, safer, easier alternative to JavaScript

jsx/JSX