HTML5時代のRIA
HTML5 ? Silverlight ?
マイクロソフトではHTML5、Silverlightに等しくコミットしています。どちらもWebアプリケーションを実装することを目指しており、とくに現在はHTML5に対応するInternet Explorerの最新版、IE9のリリースを控えていることもあり、マイクロソフトはもはやSilverlightに投資をしないのでは?という声がときおり聞こえてきますが、そんなことは全くありません。
昨年の11月1日にSilverlight Team Blogを通じて次のような発表をしています。
- マイクロソフトにとって戦略的に極めて重要である
- 我々はすでに次期バージョンの開発に取り組んでおり、引き続きクロスプラットフォーム、クロスブラウザであること、WindowsとMacで動作することを続けていく
- Windows、そしてWindows Phone上のアプリケーション開発プラットフォームの核である
Flashを含めたHTML5、SilverlightといったRIAの技術は適材適所で、お互いに補完関係にあります。少なくとも現時点では、いずれかの技術がいずれかの技術を駆逐するものではありません。HTML5をHTML+JavaScript、SilverlightをXAML+C#、あるいはHTML5の実行ファイルは.html、Silverlightは.xapのように比較してみると、その特性が浮かび上がってきます。Webアプリケーションの場合、クライアントだけでなく、サーバー側の開発や様々なAPIやサービスとの連携が必要になってくるので、これらとの接続性の良さも無視できない要素です。
HTML5は、スマートフォンとIE9を初めとするモダンブラウザの普及が今後の展開を握りますが、その使い所は主にB to Cにおけるアプリケーションやコンシューマー向けのプロモーションでしょう。
図3:IE9のプロモーションサイト「Beauty of the Web」(クリックで拡大) エクスペリエンスゾーンでは各国のパートナーが制作したHTML5コンテンツを閲覧できる |
一方でSilverlightはB to Bの業務向けのアプリケーション、LOBと呼ばれる業務処理のアプリケーションが使い所です。特にSilverlight 3から搭載されたブラウザ外実行は、Webアプリケーションをデスクトップアプリケーションのように使える機能で、LOBのシナリオで威力を発揮するはずです。B to Cにおいても、HTML5の
参考までにRIA Statsというプラグインの普及率を調査しているサービスによると日本のSilverlightの普及率は80.2%(2011年3月2日時点)となっています。
これからのIE9とSilverlight 5
Internet Explorer 9の最大のコンセプトはSame Markup。つまり、同じマークアップのHTMLであればどんなブラウザでも同じレンダリングをするべきであるという考え方で、そのため、IE9ではW3CとEcmaインターナショナルが定めるWeb標準に準拠することを基本としています。
その上で、HTML5で重要となるJavaScriptのエンジンは設計を一から見直し、IE8に比べて約18倍の高速化を達成、また
一方のSilverlightは昨年12月2日に米国本社で開催されたSilverlight Firestarterというイベントに置いてSilverlight 5の概要を発表、2011年中にはSilverlight 5ベータ版を提供することが明らかになっています。The Future of Microsoft SilverlightではSilverlight 5の新機能が説明されていますが、メディアエクスペリエンスとLOBで必要な機能を中心に強化されていることが鮮明になっています。
- ハードウエアデコード
- Trick Play
- パワーマネジメント
- リモートコントロール
- データバインディングのデバッグなどの強化
- WCF&RIA サービスの強化
- 3DモデルのサポートとGPUによるアクセラレーション
- ブラウザ外実行でのマルチウィンドウのサポート
- ブラウザ外実行でのP/Invokeのサポート
- 自動UIテスト
- プロファイル機能の向上
- 起動の高速化、IE9での高速化
- ランタイムの64bit化
RIAのプラットフォームとして、HTML5、Silverlightともに極めて有効な技術です。アプリケーションの利用目的と稼働環境に応じて、適切な技術を選択することが重要です。