【コラム】
GW中に強烈な風邪を引いてしまい、1週間ほど高熱に悩まされました。体温が39度を超えたときには、視界全体が黄ばんで見えるありさま。どうにか平熱に落ちつきましたが、今度は世の中が初夏のような暑さで、我がMacBookのパームレストも熱く……ん? 黄ばんで見えるのは熱のせいか?
さて、今回はMicrosoftの「Silverlight」について。Adobeが提唱する「リッチインターネットアプリケーション(RIA)」という概念は、FlashとPDF、そしてJavaScript / Ajaxの実行環境を内部に持つ「Apollo」として先に具現化しているが、このSilverlightも同様のコンセプトを持つ。WindowsとMac OS Xに対応するなど、マルチプラットフォーム指向である点も共通だ。今回は、最新α版の「Silverlight 1.1α」を利用して、その機能の概要を探ってみよう。
いきなりだが、Apolloとの比較からSilverlightの分析を始めてみたい。同じ"RIA"を標榜する実行環境のこと、提供する機能やコンセプトに違いがあるのか、共存させることが可能なのか、といった点に関心が集まるはずだからだ。
まずはコンセプトから。メディアリッチでインタラクティブな機能を持ちインターネットとの親和性が高いアプリケーションがRIAだとするならば、ApolloとSilverlightのターゲットは同じだ。両者とも、JavaScript / Ajaxの実行環境を備え、動画やベクターグラフィックスの扱いにも長けている。マルチプラットフォーム指向という点でも、現時点におけるLinuxサポートの有無を除けば変わりがない。
ただし、両者の技術的コアはまったく異なる。Silverlightのそれは、Extensible Application Markup Language(XAML)であり、Windows Presentation Foundation(WPF)の機能に直接アクセスできること。一方のApolloは、Flash / FlexとPDFだ。
構造もだいぶ違う。下表に挙げたとおり、SilverlightはIEやFirefox、SafariといったWebブラウザのプラグインとして動作し、Safari(WebCore / JavaScriptCore)ベースのブラウザを内包するApolloとは出発点が異なる。Apolloのアプリケーションは一度ローカルにインストールしてから起動するが、SilverlightのアプリケーションはWebブラウザ上で起動することが基本(ダウンロードするとHTMLなどリソースファイルがむき出し)、という点も異なる。よって、ApolloとSilverlighはなんの問題もなく共存できる。
Silverlightで注目すべきは、開発言語の豊富さ。Silverlight 1.1以降では、.NETのmini-CLR(Common Language Runtime)がサポートされたことにより、.NETプラットホーム(のサブセット版)がマルチプラットフォーム環境で利用可能になったのだ。マネージド・コードをサポート、C#やVisual Basic、Python(IronPython)といった言語も利用できる。こちらの記事/によれば、近々Ruby(IronRuby)もサポートされるだろうとのこと。ApolloでもFlex経由でJavaや.NETの機能を利用できるが、開発者の分母の大きさと拡張性という点では、Silverlightは互角以上の存在だ。
| Silverlight 1.0 | Silverlight 1.1 | Apollo | |
| ブラウザ内蔵 | × | × | ○ |
| Adobe Flex | × | × | ○ |
| × | × | ○ | |
| Flash | × | × | ○ |
| WMV | ○ | ○ | × |
| ActionScript | × | × | ○ |
| JavaScript | ○ | ○ | ○ |
| IronPython | × | ○ | × |
| Jscript | × | ○ | × |
| .NET Framework | × | ○ | × |
前置きが長くなったが、サンプルアプリケーションを通じてSilverlightの機能を眺めてみよう。利用した環境は、MacBook / Mac OS X 10.4.9 / Safari 2.04だ。
まず試したのは、MSDNのSilverlight関連ページにあるデモ。文字通り"ページをめくる"表示効果を体感できる「Page Turn」、WMVとMP3を利用したインタラクティブな「Silverlight Piano」、ストリーミング映像を流す「Media Library」。いずれもSilverlight 1.0 Betaで動作可能だ。
こちらのサイトには、mini-CLRをサポートしたSilverlight 1.1以降でなければ動作しないデモが置かれている。なかでもIronPythonのコードを直接実行できる「DLRConsole」は必見。OS Xで.NETおよびmini-CLRが利用可能になったことが体感できるという点で、ほかのマルチメディア機能を強調したアプリケーションより興味深い。
なお、ダウンロードしたパッケージに含まれる「Default.html」を開くと、ローカルでもSilverlightのアプリケーションを実行できるが、ランタイム(ClientBinフォルダにDLLとして置かれるようだ)が含まれない場合はエラーとなる。この問題は自力でDLLをダウンロードすれば解決できるようなので、以下に示すScribblerの事例を参考に、他のアプリケーションでも試してみるといいだろう。
| 【レポート】マカフィーの世界の専門家の意識調査「サイバー防衛報告書」とセキュリティソリューション [21:15 5/25] |
| アップル、Aperture 3.2.4を公開 - バグ修正、安定性向上など [20:51 5/25] |
| 【レポート】GTC 2012 - VGXでエンタープライズ環境でのGPU需要開拓を狙うNVIDIA [20:07 5/25] |
| デル、期間限定キャンペーンに特価アイテム追加、アップグレード無料も継続 [19:41 5/25] |
| 上海問屋、iPhoneとほぼ同じ薄さのバッテリ内蔵ヘッドホンアンプ [19:05 5/25] |
|
[9nine]制服姿見納め? セーラー服で登場も川島海荷「4人はコスプレ」 [19:15 5/27] エンタメ |
|
「NO.6」4巻は書き下ろしドラマCD付、木乃のサイン会も [18:49 5/27] ホビー |
|
[今週の新刊]マンガ大賞3回ノミネート「アイアムアヒーロー」 カープ愛「球場ラヴァーズ」も [18:33 5/27] ホビー |
|
「ゆりてつ」サイン会は作者と都電に揺られるツアー仕立て [17:45 5/27] ホビー |
|
【ネタバレもありの徹底解明コラム】『サザエさん』タマの意外な事実 [17:30 5/27] ホビー |