Dynamic Silverlightと呼ばれる、Silverlight 2とDLRを組み合わせた環境が生み出されたため、PythonやRubyの実行環境にSilverlight 2を選択できるようになった。SilverlightがPythonやRubyをホストしたと言ってもよいだろう(現状でDynamic Silverlight対応しているのは、IronPython、IronRuby、そしてManaged JScriptだ)。
この意義は大きい。それは、UIとしてXAMLベースのグラフィカルなUIを使えるようになるからだ。言い換えればXAML+Visual BasicやXAML+C#に代わって、XAML+PythonやXAML+Rubyが使えるということだ。
また、Dynamic Silverlight環境では、XAMLだけでなくHTMLもUIとして利用可能だ。Silverlight 2のドキュメントオブジェクトモデル(DOM)統合を利用することで、DLR対応の言語からDOMにアクセスできるからだ。これにより、Silverlightアドインを必要とするが、Webブラウザ側でDLR対応言語を使ってAjax的な動きを実現することも可能となる。
Dynamic Silverlightの例で分かるように、.NET Framework上に構築した独自アプリケーションをDLRに対応させることで、各種のスクリプト言語によって独自アプリケーションをコントロールさせることができるようになる。これはつまり、独自のマクロ機能を汎用的に実現できるということだ。
またDLRを利用することで、独自の言語を実装するための敷居を低くできるので、腕に覚えのある方はぜひ挑戦していただきたい。
Copyright © ITmedia, Inc. All Rights Reserved.