写真1●米MicrosoftのMahesh Prakriya氏
写真1●米MicrosoftのMahesh Prakriya氏
[画像のクリックで拡大表示]
写真2●Mahesh Prakriya氏が行ったデモの一つ。Silverlightの次期版1.1のアルファ版で,ひとつのコンソールからIronPyhtonとIronRubyを同時に使い,同一オブジェクトを操作してみせた
写真2●Mahesh Prakriya氏が行ったデモの一つ。Silverlightの次期版1.1のアルファ版で,ひとつのコンソールからIronPyhtonとIronRubyを同時に使い,同一オブジェクトを操作してみせた
[画像のクリックで拡大表示]

 「.NET上のDLR(Dynamic Language Runtime)によって,PythonやRubyなどの動的言語をサポートする。これにより開発者は,ASP.NETやSilverlightでの選択可能な言語がさらに増える。開発者にとっての“エコシステム”だ」──米MicrosoftのDeveloper DivisionでLead Program Managerを務めるMahesh Prakriya氏は,9月19日に都内で開催されたWeb開発者向けイベント「REMIX07」の講演でこう語った。

 Microsoftは,Webアプリケーション開発者に人気がある,RubyやPythonなどの動的スクリプト言語を,.NETに取り込むことに注力している。その技術的基盤となるのがDLRだ。もともと.NET Frameworkでは,CLR(Common Language Runtime:共通言語ランタイム)という仕組みによって,Visual Basic.NET,Visual C#,Visual C++などの複数の開発言語をサポートしており,これがJava VMとの大きな相違点となっている。

 DLRは,.NET Framework+CLRの上に構築された動的言語をサポートするための環境である。2008年に登場予定のSilverlight 1.1およびASP.NETの次期版に搭載される見込みだ。すでにSilverlight 1.1のアルファ版では,IronPython(.NET版のPython実装)とJScriptをサポートしており,今後IronRuby(同じく.NET版Ruby)とVisual Basic(次期版)に対応するという。

 現在のSilverlight 1.0ではJavaScriptしか使えないが,次期版からは,お気に入りの言語でプログラミングできるようになる。そして動的言語の開発者は「Visual StudioのIntelliSense(コード補完機能)やデバッキングなど,.NET開発のパワフルな機能を活用できる」(Prakriya氏)。実際に,DLRに含まれるコンソール(対話型のプログラミングが可能なコマンドライン・ツール)を使って,Silverlight上のIronPythonとIronRubyのデモを見せた。

 また,ASP.NETでは動的データ・コントロールを提供するという。これは,実行時にデータベースのスキーマ情報を読み取って,デフォルトの動作や表示形式でデータを見せるというもの。動作や表示形式は簡単にカスタマイズできるので,実際にデータベース・アクセスをしながら徐々に見せ方を変更するといった開発が可能だ。Visual Studioでのデモを見せながら「データベースにバインドするアプリケーションのスクラッチ開発が容易になる」と語った。

 最後のデモでは,動的言語でWebサービスを活用する方法を紹介した。ここでも,Webサービスの利用を簡単にするライブラリ「Dynamic Web Services Helpers」が用意されており,URLを引数とするWebService.Loadメソッドを呼ぶだけで,Amazonなどの既存のWebサービスを簡単に利用できることを見せた。

 Prakriya氏は,Microsoftの動的言語に対する積極的な取り組みがもたらすメリットとして,PythonやRubyを活用するオープンソース系開発者が必要とする機能を提供することで,Webアプリケーション開発の選択肢を増やすと同時に,既存の.NET開発者にも新たな機能や言語のバリエーションが増えると再度強調した。


■変更履歴
デモ画面(写真2)を追加しました。[2007/09/20 16:05]