過去バージョンからの変更点
Silverlight 1.0からSilverlight 2へのバージョンアップにおける、主な変更点は次のとおりです。
- 日本語対応
- コントロールの追加
- .NET Frameworkのサポート
以下でこの3点について解説します。
日本語対応
Silverlight 2からは正式に日本語がサポートされていますので、通常のコントロールのフォントとして容易に日本語を扱うことができるようになりました。
過去バージョンにおいては日本語フォントをサポートしていなかったこともあり、コンテンツで日本語を利用することに困難が伴いました。場合によっては日本語フォントをベクターデータ化したうえで扱うなど、半ば強引とも言える工夫もされていたようです。
コントロールの追加
.NET開発者にとっては日頃から慣れ親しんでいる数多くのコントロールを利用できるようになりました。以下に主なものを列挙します。
コントロール | 機能 |
StackPanel | 複数のオブジェクトを並べて配置 |
Grid | 行と列を指定し各コントロールを適当な位置に配置 |
Button | ボタンコントロール |
TextBox | テキスト入力コントロール |
CheckBox | チェックボックスコントロール |
RadioButton | ラジオボタンコントロール |
Slider | スライダーコントロール |
HyperlinkButton | ハイパーリンクコントロール |
ListBox | リストボックスコントロール |
Calendar | カレンダーコントロール |
Scrollbar | スクロールバーコントロール |
Border | 境界線コントロール |
今回は各コントロールについて具体的に触れませんが、.NET開発者にとって見慣れたコントロールが標準的にサポートされました。次回の連載ではこの中のいくつかを選んで、サンプルを通して実際の使い方を説明したいと思います。
.NET Frameworkのサポート
Silverlight 2に搭載されている.NET Framework for SilverlightのベースとなっているのはCLR(Common Language Runtime)/DLR(Dynamic Language Runtime)という言語ランタイムです。Silverlight 2に搭載されるCLRは、厳密にはフルセットの.NET Frameworkのそれと同じではなく、Silverlight専用ランタイムになります。しかし、Silverlightの開発で必要とされる機能は十分に含まれていますので、ここがボトルネックになって思うような機能が実現できないというシチュエーションは少ないと思われます。CLR搭載により、C#およびVisual Basicで処理を記述することが可能になりました。
DLRはCLR上で動作する動的言語ランタイムであり、スクリプト言語の利用を可能にします。現在のところManaged JScript(JavaScript互換)、IronRuby、 IronPythonがサポートされています。
JavaScriptに関してはもともとSilverlight1.0において利用できる唯一の言語でしたが、Silverlight 2でもサポートされています。
DLRは.NET Framework上で動的言語を使用するためのランタイムです。DLRは各動的言語をCLRに対して通訳するように動作します。既にIronRuby、 IronPythonがサポートされている他、LISPやPHPに関するプロジェクトも進行中とされています。Silverlight 2はDLRによって、さらに多くの言語をサポートする可能性を持っています。
ほかにも、.NET Framework for Silverlightは.NET Framework 3.5からの新機能であるLINQ(Language Integrated Query)を公式にサポートしています。LINQは直訳すると「統合言語クエリ」で、その名の通り、プログラム言語内に記述することができるクエリです。LINQは選択/条件設定/フィルタ/並び替え/グルーピングなど、データベースのクエリに用いられるSQLと似た概念を持っています。.NET Framework3.5から正式にサポートされたこの機能により、C#およびVBのコード内にクエリを記述し、データベースどとやりとりすることなどが可能になりました。Silverlight 2でも、このLINQを活用することができます。
以上の3点以外にSilverlight 2に追加された機能の幾つかを以下に列挙します。
追加された機能 | 内容 |
データバインディング | コントロールのプロパティと他のプロパティなどを関連づける機能。本連載の後半で扱う予定 |
スタイル/テンプレートサポート | スタイルに関するプロパティ設定を複数のコントロールにおいて利用可能 |
XAP | Silverlightアプリケーション用の圧縮形式(後述) |
Windows2000サポート | Windows2000環境のサポート |
DRM(Digital Rights Management)対応 | コンテンツの流通や再生に制限をかけられる著作権管理機能に対応 |
Webサービスのサポート | SOAP(Simple Object Access Protocol)やRSS/Atom配信フィードなどのWebサービスを利用するための機能の追加 |
Deep Zoom | 高解像度の画像素材を階層的に分割管理することにより、画像の任意の部分を任意の解像度で高速に描画可能な機能 |
VSM(Visual State Manager) | Visual Stateと呼ばれるコントロールの状態ごとにスタイルを管理する機能 |
双方向通信(サーバプッシュ) | クライアント側からポーリングを行い、サーバからのデータプッシュを可能にする機能 |