Webブラウザ上で使えるプログラミング言語は限られたものだけだ。JavaScript、ActionScript、Javaアプレット、ActiveXなどだろうか。それ以外のRubyやPerl、Python、PHPといった言語はサーバサイドで使うしかなかった。

ピクチャ 12.png

HTMLのソース。確かにRubyだ。もちろん実行できる

 

しかしその可能性が広がるかも知れない。HTMLにRubyやPython、そしてXAMLといった言語がそのまま書け、そして実行できるのだ。

今回紹介するオープンソース・ソフトウェアはGestalt、Webブラウザ上でRuby/Python/XAMLを実行可能にするライブラリだ。

種明かしをすれば、使っているのはSilverlightだ。Silverlightは言わずと知れたマイクロソフトの技術であり、.NET系だ。そしてGestaltはIronRubyやIronPythonといった.NET FrameworkによるRuby/Python実装を読み込んで実行している。

ピクチャ 13.png

こちらはPython。確かにPythonで、ボタンのラベルが変化する

 

Gestaltを読み込むと、scriptタグでlanguageとしてrubyやpythonが指定できるようになる。そしてそこに記述するのはそのままRubyやPythonのコードになる。JavaScriptと組み合わせて書けるので、処理結果をHTMLに反映したりダイアログを出すこともできる。

もう一つ、XAMLというインタフェース記述言語も利用できる。これはCanvasを使って絵を描いたり、アニメーションを可能にするXMLベースの言語で、Gestaltを使ってアニメーションを変化させることができる。

ダイナミックライブラリを読み込むので、サイズが数MB読み込む必要があるのが大きな欠点かも知れない。だがSilverlightの可能性として非常に興味深い試みではある。

ピクチャ 15.png

XAMLを使ったアニメーションのサンプル

 

 

MIX Online’s Gestalt: Write Ruby, Python and XAML in your HTML pages.

 http://www.visitmix.com/labs/gestalt/

Gestalt: Ruby, Python, and XAML in Your HTML - Home

 http://www.codeplex.com/Gestalt