2015年4月27日月曜日

JavaScript へコンパイルできる言語

先日、Dart が JavaScript へのコンパイル機能を強化していく方針を出したと記事にしました(該当記事はこちら)。
それでは Dart 以外に同様の言語はどのくらいあるのでしょうか?


 - CoffeeScript
 - TypeScript
 - HAXE
 - JSX


CoffeeScript は JavaScript のコードの書き難い部分を解消し、また大規模な開発向けに作られた言語です。
類似の言語の中で一番利用されており、有名な言語だと思います。


TypeScript は Micorosoft が開発した言語で、JavaScript の構文をそのまま利用できることが特徴的な言語です。
これも大規模開発向けに作られています。


HAXE は JavaScript 以外の言語にもコンパイル可能な言語で、主にマルチプラットフォーム開発を目的として使用されている言語です。
コンパイルが可能なのは「JavaScript」「C++」「C#」「Java」「PHP」など。


JSX はモバゲーの DeNA が開発した言語で、「スピード」の向上に重点を置いた言語です。
JSX によって最適された JavaScript コードは、同等の JavaScript プログラムと比較して 10% 以上高速になるそうです。

筆者は上記言語のどれも利用したことはありませんので、現時点で Dart との比較はできませんが、キーとなってくる「コードの書きやすさ」「大規模開発への適応」「スピード」に着目しながら、今後の Dart の動向と併せてこれらの言語にも触れていこうと思います。

2015年4月4日土曜日

Dart 1.9 リリース

3月26日に Dart 1.9 が公開されました。


非同期系の機能の強化が主で、ECMA標準の仕様実装にあたるものが多いです。
(今回でECMA標準の仕様実装はひととおり終わったのかな)


まず、async / await が構文として利用可能になりました。
これにより、以前のバージョンまででは Future を用いて行っていた遅延計算(単一イベントの非同期)と、Stream を用いて行っていた複数イベントの場合の非同期処理を簡潔に書くことができるようになります。


また、ジェネレータ『sync*, async*, yield, yield*』のサポートの開始(これは別の記事で詳しく書こうと思います。たぶん。。。)、enum が正式にサポートされたり、そのほかにも細かい改善が行われています。


DartVm が Chrome に搭載されないことが発表された翌日のリリースになりますが、今後の動きに期待ができるバージョンアップ内容なのではないでしょうか。

引き続き Dart の動向を追いかけて行こうと思います。

(超スローペースではありますが。。。)


--- 参考もと
http://news.dartlang.org/2015/03/dart-19-release-youve-been-await-ing-for.htmlv

2015年4月1日水曜日

Chrome で Dart をネイティブに動かせない

DartVM に関して、Google Chrome に統合されないことが正式に発表されました。


以前より Chrome にDartVM が搭載されることが予想されており、Chrome 上で
Dart をネイティブに動かせる未来が来るのだと思っていましたが、その夢は断
たれてしまいました。


今後は、JavaScript のコンパイル機能の強化に取り組むという事で、大きな方
向転換ではありますが、今後の Dart の動向に期待していきたいですね。


ちなみに、DartVM のサポートは引き続き行っていくようなので、Dart 言語そのものの動きについても見ていこうと思います。


--- 参考もと
http://news.dartlang.org/2015/03/dart-for-entire-web.html