9 月 21 2007
Flash(Flex)デベロッパーから見た、Silverlight
Flash、Flexデベロッパの僕から見て、Silverlightって何なのか? ちょっとまとめてみました。間違っている部分もあるかと思いますが、あしからず・・。 ちなみに、僕はMicroSoft系の言語はさっぱりです。VBはおろか、エクセルのマクロだって使えませんよ、はい。
Silverlightってどういう技術?
- ブラウザ上でリッチインタラクティブアプリケーション(RIA)を実現する。
- Windows、Macで動作。クロスプラットフォーム。(LinuxではMoonlightプロジェクトにより動作可能となるらしい)
- Webブラウザ用プラグイン、IE、FireFox、Safari対応。
これだけ見ると、Flashと変わらないような気がするよね。うーん。
Silverlightのメリット
- 強力なマルチメディア関連のサポート
- ハイビジョン相当(HD 720p)の動画を配信可能
- デジタル著作権管理(DRM)
- 開発言語の選択が可能
- C#
- C++
- VB
- Python
- Ruby
- JavaScript
- .Net Frameworkベース。
- 開発者の絶対数が多い
大手GyaoがSilverlightを採用したニュースは、ご存じのとおり DRM対応ってのはポイント高いですね。 しかしFlashだって、H.264 HDにまで対応するので、画質的な差はほとんどないんじゃなかろうか・・。
Silverlight1.1からCLRが含まれ、「.NETプラットホームのサブセットをブラウザから使える」とのこと。
この辺よくわからなかったんですが、.NET標準のUIライブラリなんかが利用できると考えていいのかなぁ? 開発の言語を選べるというのは、結構素敵なんですが 実際同じプロジェクトみんなが使える言語となると、自ずと選択肢が決まってくる気がするのですげーメリットっていう感じでもないな。
開発スタイル
- 普通のテキストエディタで作る
- Visual Studioを使って開発
- Expression Blendで開発
簡単なサンプル程度なら、ランタイムをいれて、テキストエディタでも十分開発可能です。 でもギャラリーの「Page Turn」のサンプルソースコードを見ると あの程度でも、結構膨大なソースなのでちゃんとしたものを作ろうとしたらBlendとVisual Studioは必須なのではないだろうか。
実際の所どうなのよ?
Flex2とSilverlightの公式サンプルアプリケーションをざっと見比べてみる。
Silverlightのサンプルページ http://silverlight.net/community/gallerydetail.aspx?cat=3 http://silverlight.net/community/gallerydetail.aspx?cat=4
Flex2のサンプルページ http://www.adobe.com/jp/devnet/flex/
う~ん。エンタープライズなアプリケーションを現段階のSilverlightで開発するのは 果てしなく難易度が高い気がするんだが・・。
Flexの良いところは、高度なUIコンポーネントが標準で用意されていて しかもスキンの変更なんかが楽ちんなところにあると思う。 SilverlightはどこまでUIコンポーネントが用意されるのか、興味津々ではある。
一応作ったサンプル
さすがに何も作らないという訳にもいかないので、申し訳程度に、サンプルを作りました。
円のオブジェクトがロールオーバー、ロールアウトに反応して、色が変わるという ものすごく朴訥としたサンプルアプリケーションです。 当然ながらSilverlightのランタイムがないと見れないので インストールしてない方は、こちらからインストールするべし。
まとめ
今のところ、SilverLightはFlashほどグラフィックとアニメーションに強い印象もなく Flexほどエンタープライズに強い印象もなく、中途半端な感じ。 Flexの方はJava開発者の流入が多いみたいだけれど、Silverlight(WPF)には.Net開発者が中心になるんだろうなと。
参考サイト
Microsoft Silverlight: Light Up the Web ふるにゃん - 初めてのSilverlight 1.1α + Expression Blend β2(取っ掛かり編?) 「GyaO」がSilverlight採用へ 映画予告編でテスト配信