始めよう!Silverlight

第6回 Dynamic SilverlightでHello world

この記事を読むのに必要な時間:およそ 4 分

はじめに

前回はC#でのSilverlight 2の開発をご紹介しました。今回は.NET上で動的言語を実行するDynamic Language Runtime(DLR)をSilverlightで動かすためのDynamic Silverlightについてご紹介します。さらに今回はMacでの開発を試みます。

Dynamic Silverlightとは

最初に少し書きましたが,Dynamic Silverlight(DSL)とはDLRをSilverlightと統合し動作させるための技術です。DLRとは動的言語を処理するためのランタイムライブラリで,CLR上で動作します。DSLを使用することで様々な動的言語によってSilverlightのプログラミングを行うことが可能になります。

DSLでは現在,以下の3種類の言語が標準で提供されています。

  • IronPython
  • IronRuby
  • Managed JScript

今後はさらに様々なDLR上で動く言語が登場し,DSLでの言語の選択肢が増えていくことでしょう。

SDKの導入

DSLにはDSL用のSDKが用意されています。以下のサイトよりダウンロードしてください。

ダウンロードが完了したら,適当なフォルダに展開してください。このSDKには大きく分けて以下のものが含まれています。

  • DSLランタイムやIronRuby/IronPythonなどのアセンブリ
  • webサーバーとしての実行とxapの生成を行うChiron.exe
  • 上記のソースコード
  • サンプルアプリケーション

実は,ソースコードやサンプルアプリケーション以外のものは前回導入したSilverlight 2のSDKにも含まれています。さらに,ここにはDSLのSDKには含まれないManaged JScriptのアセンブリも含まれています。しかし,筆者の手元の環境で確かめたところ,微妙にアセンブリのバージョンが異なっていました。

  • Silverlight 2 SDKに含まれるバージョン = 2.0.5.0
  • DSL SDKに含まれるバージョン = 2.0.5.100

今回はDSLのSDKを使用して解説を行います。

開発ツールのChiron.exe

Chiron.exeとはSDKに含まれている開発用のコマンドラインツールです。おもに以下の機能を持っています。

  • 開発用の簡易的なWebサーバー
  • xapファイルの生成

DSLの開発ではChiron.exeを使用して,xapファイルの生成やサーバーを実行して,ブラウザでの動作確認を行います。以下のコマンドでChiron.exeに指定できる引数とその機能が表示されますので,ぜひ確認してみてください。

Chiron.exe -h

Macでの開発

Chiron.exeは.NET Frameworkのオープンソース実装であるMonoでも動作するように作成されています。MonoはMacでも動作します。つまりMonoでChiron.exeを動作させればMac上でDSLによる開発が可能になります。

本稿でもMacを使用して解説を行います。ただし,Windowsで開発した場合との違いはChiron.exeを実行する場合に,コマンドの先頭に"mono"と指定するかどうかだけなので,Windowsで試される場合も問題はありません。

1.Macで実行する場合

mono Chiron.exe -h

2.Windowsで実行する場合

Chiron.exe -h

Monoのダウンロードと導入は以下のサイトの手順に従って行ってください。

DSLのSDKもZIP形式で圧縮されているので,Macにもそのまま導入できます。適当なディレクトリに展開してください。MonoとDSLのSDKの両方とも導入が完了したら,以下のコマンドを実行してください。Chiron.exeの部分はフルパスが必要になりますので,適宜読み替えを行ってください。ヘルプが表示されれば成功です。

mono Chiron.exe -h

著者プロフィール

丸山和秀(まるやまかずひで)

株式会社アークウェイ システムクリエイター。趣味はドラム。社会人になりたてのころは職業はドラマーだと豪語していたが,いつのまにかシステム開発の楽しさにのめりこみ,仕事内容が職業になっていた。パッケージベンダにて金融向けパッケージソフトの開発を行うSEを経て現職へ。現在は研究開発としてRIAに取り組み中。

コメント

コメントの記入