Rubyに似た記法を使ってJavaScriptを生成するプログラミング言語「RedScript」
RedScriptはRubyを真似て開発されているJavaScript代替言語です。
別な記法で記述して変換を行ってJavaScriptを生成するタイプの言語は幾つかあります。今回はRubyなどを参考に開発されたRedScriptを紹介します。
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.20.28_thumb.1364961120.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.20.28.1364961120.png)
インストールしました。node.jsのライブラリです。
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.21.17_thumb.1364961124.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.21.17.1364961124.png)
ファイル監視機能があるので自動で生成されます。rsという拡張子になっています。
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.22.20_thumb.1364961127.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.22.20.1364961127.png)
@でthisになります。Ruby風?
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.22.29_thumb.1364961129.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.22.29.1364961129.png)
ループ処理。
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.38.23_thumb.1364961131.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.38.23.1364961131.png)
ハッシュの処理。
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.38.49_thumb.1364961134.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.38.49.1364961134.png)
ifによる分岐処理。
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.39.00_thumb.1364961136.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.39.00.1364961136.png)
requireも使えます。
[![](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.39.18_thumb.1364961139.png)](http://images.moongift.jp/2013/04/Screenshot 2013-04-03 11.39.18.1364961139.png)
switch/case文。
文法的にはRubyに似ている箇所が多いですが、完全にそうという訳ではなく、RubyとJavaScriptがミックスされたような文法になっています。doを使ったりもできます。この辺りは好みが分かれるところかも知れません。
RedScriptはnode.js/JavaScript製のオープンソース・ソフトウェア(MIT License)です。
MOONGIFTはこう見る
個人的にはCoffeeScriptを最も良く使っていますが、もっとクライアントサイドのJavaScript利用に特化した軽量な記法があっても良いのかな、という気はしています。特にAjax周りやテンプレート周りの扱いを良くするだけでぐっと使い勝手が上がってくるのではないでしょうか。
JavaScriptの素の書き方ではグループでの開発やテストにはあまり向いていません。Javaほどではないですが、大型化していくWebアプリケーション開発に備えたフレームワークは必要になるでしょう。そのとき、記法すらも向いたものを選定すべきです。