BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Silverlight 近況報告

Silverlight 近況報告

ブックマーク

原文(投稿日:2011/04/13)へのリンク

ブラウザ用 Silverlight は,以前よりもよくなっている。静的型付け言語や JIT コンパイルのメリットを保ちつつ,HTML 5 に対するものと同じようなパフォーマンスの改善が得られているからだ。それなのになぜ,Microsoft は MIX で Silverlight に言及しようとしないのか?

理由はたくさんあって複雑だが,最悪というわけでもない。問題の多くは,Windows Phone 以外の Silverlight がすべて廃止されると多くの人々に信じ込ませてしまった,昨年の不手際なメッセージに端を発する。その大失態後の1週間でキャンセルされた契約の数々について,コンサルト業務に携わる Silverlight 開発者たちは今なお不満を持っている。状況を改善するため Microsoft は,12月に開催された Silverlight Firestarter イベントで,Silverlight 5 の機能の大半を発表した。これが功を奏して,事態は収束の兆しを見せ始め,... MIX がやってきたのだ。

多くの開発者にとって,MIX は Silverlight の故郷である。毎年ここで最初のパブリックベータ版が公開され,それが多数のファンの支持を受けたとき,新たなバージョンが "誕生する" のだ。しかし今年は少し違っていた – Silverlight 5 のベータ版が重要であるにも関わらず,基調講演ではほとんど触れられずじまいだったのだ。その代わり Microsoft はこのイベントを,もっと新しい開発成果に注目を集めるために利用した。今年のホットな話題は,125 セッション中の 28 を占める Windows Phone である。また Internet Explorer 10 と HTML 5 にも多くの注目が集まっていて,基調講演の全体が Web 上のパフォーマンスの話題で費やされた。第3の座に付いた Kinect は,カンファレンスに参加した数千人に無償で配布された。その結果,Silverlight 5 のトピックに残されたスケジュール上の余地はわずか 14 セッション,さらにその半分近くは HTML 5 ないし Microsoft Media Platform に当てられてしまったのだ。どうしたことだろう?

つまるところ Microsoft は,Firestarter イベントですべてを出し尽くしてしまった,話すことは何も残っていない,と考えていたのだ。Firestarter イベントが Silverlight コミュニティの再活性化に一役買ったのは確かだ。しかし Microsoft はそれを MIX への導入部としてではなく,代替として利用したのだった。その結果,すべての機運が失われてしまった。

Silverlight が内部的に直面している問題は,認知と自己アイデンティティに関するものであって,マンパワーの問題ではない。最初に2つのポイントを明確にしておこう。その1:Windows 版 Silverlight は過去のテクノロジではない。それどころか Microsoft では,Silverlight への内部コミットメントを増大さえしているのだ。その2:クロスプラットフォーム・ソリューションとしての Silverlight は正式に終了している。これは間違いない,Microsoft が HTML 5 を真のクロスプラットフォーム開発の未来と考えていることには,もはや疑う余地がないのだ。Microsoft の現在の技術的投資は,次の3つのカテゴリに向けられている。

  • スムーズストリーミングなどリッチメディアサービス
  • Web 上での3D
  • 基幹業務 (Line of Business,LOB) アプリケーション

私たちが受け取っているメッセージを信じるなら,Microsoft は Windows 以外のモバイルデバイスに対して Silverlight を提供しようとは考えてもいないし,モバイルデバイス向けの Mono の開発にも協力していない。同社が進めるこれら3つのカテゴリの内,話題にされているのは前2つのみだ。

リッチメディアについて語るのは簡単だ。つまり,Web ブラウザに基本的なビデオサポートが追加されたのはつい最近のことで,実際には誰も使っていない。Google の Chrome ブラウザで Google の YouTube サイトを見たとしても,目にするのは Flash ビデオだけだ。サイトでビデオを提供している開発者自体そもそも数少ないし,そのような機能を必要とするものはさらに少ない。

Web 上の 3D についても同じことだ。SVG や Canvas を活用するライブラリはいくつかある。しかし Silverlight 5 の低レベル API が提供するものは,それらよりもはるかに進んでいる。基調講演で公開された 3D の家のデモが,ひとりの開発者が3週間ほどで作ったものだった,という事実が見落とされているのは残念なことだ。これほどの短期間で,HTML 5 を使って同等のアプリケーションを作成するのは,まず不可能だろう。Silverlight の製品市場投入時間の短さをプロモートする Microsoft がなぜ,基調講演をそのような場として活用しなかったのか,出席した開発者たちの多くが苛立ちを感じている。

最後の基幹業務アプリケーションは,Silverlight にとっての最重要分野である。熟練した Silverlight 開発者であれば (Flex でもそうだが),品質のよい LOB アプリケーションを,同程度のスキルを持った HTML 開発者の数分の1の時間で構築することができる。データバインディングのサポートだけでも大きな時間節約効果を持つ上に,非常に高度なテンプレート機能を備えているからだ。HTML ではテンプレートのサポートはほとんどないし,プラットフォームの中核でもないから,代わりに先日リリースされたばかりの jQuery テンプレートを使うなどして,CSS を取り繕わなければならない。

このような事実を思うと,LOB アプリケーションにおいて Silverlight を推進する可能性を Microsoft の Silverlight チームが信じていないことには失望を禁じえない。Windows や Internet Explorer の開発グループを敵に回したくない,という社内政治的な理由によるものかも知れないし,一般ユーザからの反発を恐れてもいるのかも知れない。それでも LOB アプリケーションを構築する上で,Silverlight は HTML よりもはるかに効率的なのだから,このような態度は Web セントリックな開発者たちを無意味に動揺させるだけだろう。

そのために LOB アプリケーションを構築するエンタープライズソフトウェア開発者たちは,顧客や管理者に対する面倒な思いを,すべて代わりに引き受けるはめになっている。彼らが言うには,プロジェクトにおける Silverlight 導入のメリットを他の開発者に対して説くのはたやすいのだが,顧客や管理者に対して選択の正当性を説明するための支援が Microsoft から何もないのだ。

マーケティング上の問題に関してのこのような不満を聞かされるのに1時間ほど耐えた後,Microsoft の Silverlight プロダクトマネージャである David Pugmire 氏は自身の E メールアドレスを配布して,彼らの懸念を役員レベルに伝えることに同意した。念のために言うと,彼らの不満はマーケティングに対してのみであって,カンファレンスに参加した開発者たちがブラウザ技術の進んでいる方向に反対しているわけではない。

iPhone や Android 版の Silverlight についてまったく触れられていない点にも,いくつかの批判があった。ネイティブアプリが HTML ベースのものより優れていると誰もが認めているとはいえ,それは現時点での話だ。開発者が望んでいたのは,各デバイスの GUI を取り替えるのに MVVM (Motion-View-ViewModel) を使用すること,そして XAML などによるネイティブコントロールのレンダリング定義だった。一方で Microsoft は,Silverlight と WPF のギャップを埋めることに注力したいと考えていた。

WPF に関して言うなら,すでに過去のテクノロジだろう。Silverlight は短期間のうちに WPF の機能の大半を取り入れているし,開発者たちの関心も WPF よりはるかに大きいようだ。それでも WPF が完全になくなることは多分ないだろう。WPF プラットフォームを用いた開発は,現在も積極的に続けられている。WPF は VB6 アプリ,WinForms ベースアプリの両方に対して,最適な相互運用性の道を提供する存在なのだ。(VB,WinForms に加えて WPF を導入して,最終的にそれらすべてを WPF に移行しようと計画しているアプリケーションを見たことがある。)それでも Silverlight 5 のリリースを待つことが許される新規開発については,WPF を検討すべき理由はそれほど多くはないだろう。

この記事に星をつける

おすすめ度
スタイル

BT