Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。Frameworkの機能がサポートされました。Frameworkの最新技術とSilverlightの連携について触れていきたいと思います。Frameworkの機能がサポートされました。Frameworkのライブラリを使用し、効率的に業務アプリケーションを構築できるようになったという点も忘れてはいけません。Frameworkの最新技術とSilverlightの連携について触れていきたいと思います。対象読者Silverlight開発初心者。最初にSilverlightの概要について振り返っておきましょう。Silverlightは本連載の1回目でも触れたように、図1のアーキテクチャで構成されています。3.5のサブセットとして実装されています。Frameworkの共通基盤をSilverlightでも利用できるようになったということです。DOMとの連携といったインターネットアプリケーションの構築を助けるためにの機能が豊富に提供されているのもSilverlightの特徴の一つです。Silverlightが提供している機能の概要を表1に示します。JSONおよびXMLのCLRオブジェクトへのシリアル化をサポート複数プログラミング言語のサポート今までクライアントサイドのプログラミングと言えば、HTMLであればJavaScript、FlashであればActionScriptを使ってプログラミングを行っていました。Basicなどとは違った動的に型付けされた言語であり、静的に型付けされた言語とは違うプログラミングが必要とされました。プログラミングのバグの中で最も発見が困難な類のバグは、型に基づいたバグだと筆者は考えています。最初は整数型で宣言していた変数がプログラム中のコードにより、いつの間にか文字列型の変数に置き換わっていたため、計算結果がおかしくなってしまったり、本来はインスタンスが持っていないはずのメソッドを呼び出すコードを記述し、実行時に初めてエラーに気付くといった問題です。実装していないメソッドの呼び出し静的言語では、これらのバグはコンパイル時にチェックし、インスタンス同士の型変換が可能であるか、インスタンスは指定されたメソッドを持っているかなどをコンパイル時に発見することが可能になっています。業務アプリケーションのように大人数で作成するアプリケーションではプログラマーの力量もバラバラなことが多く、コンパイル時にチェックできるものはできるだけコンパイラーによって検知できる仕組みがある言語が望まれていました。動的言語が業務アプリケーション開発に向いていないと言っているわけではありません。確かに静的な型チェックがないためコーディングの際に注意が必要ですが、本来プログラムは目的を記述するためのものであり、型情報はある意味ノイズであると考えることもできます。動的言語では型を動的に決定することでコーディング量を少なくし、簡潔にプログラミングすることが可能になります。Silverlightでは後述するDLRを使うことで、CLR上で動作する動的言語の基盤もサポートしています。現在のところSilverlightでは、JScriptやIronRuby、IronPythonといった言語がサポートされています。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Technologies。執筆コミュニティ「WINGSプロジェクト」代表。