WPFとSilverlightの将来

 先週から今週にかけてWPFSilverlightの将来を心配する声が聞かれるようになりましたので、このblogでもいくつか気になった記事などを取り上げてみたいと思います。

Blog | Evernote



Evernote 4 for Windows」がWPFからC++に鞍替えしたことが話題となり、WPFの将来を悲観する声が上がりました。それらの中でも元マイクロソフトSilverlightプロダクトマネージャのScott Barnes氏のblog記事は、WPFの素晴らしさを認めつつもマーケティングやチームの体制といったWPFに対するマイクロソフトの姿勢を問題視したもので、非常に興味深い内容かと思います。

WPF has no Product Manager. | RIAGENIC.com



 それら一連の騒動に対し、先の記事の通りマイクロソフトWindows ClientのコミュニティプログラムマネージャPete Brown氏は、WPFは今後も健在であるといったメッセージをblogに投稿しています。

The Present and Future of WPF - Pete Brown's 10rem.net



 この投稿には「So Where does that Leave WPF?(それでWPFはどうなるのですか?)」と題して以下のようなメッセージが記されています。その部分を引用します。


  • WPF is a technology relied upon by our customers for a large number of internal and for-sale applications.
  • WPFは数多くの企業内アプリと有償アプリを手掛ける我々のお客様から信頼されたテクノロジーです。


  • WPF is alive and well, with plans underway for the next version.
  • WPFは現在進めている次バージョンの計画と共に健在です。



 一方で、この投稿の最後にはWPFSilverlightの選択のガイダンスが書かれているのですが、これはWPFが健在であることをアピールするという観点では少々奇妙な内容に感じます。その部分を引用します。

  • If you're just starting out, and there's a question as to which technology to choose (Silverlight or WPF) then start with Silverlight. It is generally easier to move up to WPF from Silverlight than it is to move the other way. Silverlight has a smaller API, and is therefore generally considered easier to learn.
  • あなたが初心者でどちらの(SilverlightWPF)テクノロジーを選択するか迷っているのであれば、Silverlightから始めてください。一般的にSilverlightからWPFへ移行するのは、逆方向に移行するよりも簡単です。Silverlightはより小さなAPIを持っているため、一般的には習得するのが簡単であるとされています。


  • If you need a desktop application with only basic system integration, consider building a Silverlight Out-of-Browser application. Silverlight 4 Trusted Applications with IDispatch support provide access to many system resources previously unavailable to web technologies.
  • もしあなたが基本的なシステム統合のみを含むデスクトップアプリケーションが必要であれば、Silverlightのブラウザ外実行アプリケーションの構築を検討してください。IDispatchがサポートされるSilverlight 4の信頼されたアプリケーションは、以前のWeb技術では利用できなかった多くのシステムリソースへのアクセスを提供します。


  • If you need deep system integration, excellent multi-touch support, device access, local resources, and all the other things that go with a solid desktop application, then consider moving up to WPF.
  • もしあなたがディープなシステム統合、優れたマルチタッチサポート、デバイスアクセス、ローカルリソース、そして純粋なデスクトップアプリケーションが最適なその他すべてが必要であるのならば、WPFへの移行を検討してください。


  • If you're a C++ developer, you can choose to go with C++ and MFC, or use C++ with WPF on the front end, like the Expression team did.
  • もしあなたがC++開発者ならば、C++MFC、もしくはExpressionチームが行ったようにC++とフロントエンドにWPFを使うという選択肢があります。



 デスクトップのビジネスアプリケーションも含めて、ほとんどはSilverlightを使ってくださいというように受け取れます。特に「SilverlightAPIセットは小さいため習得が簡単」という内容は、これからWPFSilverlightを始める方にとって誤解を生じやすいのではないかと思います。コメント欄にはScott Barnes氏からの投稿がありました。


 それに続くかたちで、マイクロソフトのサーバー&ツールビジネス担当プレジデントのBob Muglia氏がインタビューで語ったことが話題となりました。

マイクロソフトが戦略変更。HTML5が唯一のクロスプラットフォーム、SilverlightはWindows Phone 7のプラットフォームに - Publickey
Loading...



 これには数多くの反応がありました。私が読んだものを下記に列挙しておきます。


日本語

はてなブックマーク - マイクロソフトが戦略変更。HTML5が唯一のクロスプラットフォーム、SilverlightはWindows Phone 7のプラットフォームに - Publickey
標準と革新 | ++C++; // 未確認飛行 C ブログ
MicrosoftはSilverlightをあきらめHTML5に走るといったの?



英語

Home | GrapeCity Forums
On Expectations, PDC, Silverlight, and HTML 5 - Robert McLaws: Windows Edition
The Right Tool for the Job - Paul Stovell
Silverlight and WPF – reading the tea leaves
nerdplusart.com - このウェブサイトは販売用です! -&nbspnerdplusart リソースおよび情報



 その後、Silverlight Team BlogにてBob Muglia氏からこのような混乱は意図したものではなかったとしてあらためてSilverligtの重要性を示す投稿がありました。

PDC and Silverlight – The Silverlight Blog



 そのほかにもRob Relyea氏やSomasegar氏からも投稿がありました。

Silverlight is dead. Long live Silverlight!
Silverlight: Lighting up the client – Somasegar's blog



 Silverlight Team Blogから一部を引用します。

  1. Silverlight is very important and strategic to Microsoft.
    Silverlightマイクロソフトにとってとても重要でかつ戦略的なものです。
  2. We’re working hard on the next release of Silverlight, and it will continue to be cross-browser and cross-platform, and run on Windows and Mac.
    我々はSilverlightの次のリリースに懸命に取り組んでいます。そしてそれはクロスブラウザー、クロスプラットフォームWindowsMacでの実行が引き続きサポートされます。
  3. Silverlight is a core application development platform for Windows, and it’s the development platform for Windows Phone.
    SilverlightWindowsのコアアプリケーション開発環境であり、Windows Phoneの開発環境です。


The purpose of Silverlight has never been to replace HTML, but rather to do the things that HTML (and other technologies) can’t, and to do so in a way that’s easy for developers to use. Silverlight enables great client app and media experiences. It’s now installed on two-thirds of the world’s computers, and more than 600,000 developers currently build software using it. Make no mistake; we’ll continue to invest in Silverlight and enable developers to build great apps and experiences with it in the future.
Silverlightの目的はHTMLを置き換えることではなく、むしろHTML(やその他のテクノロジー)ができないことを開発者にとって簡単な方法で実現することです。Silverlightは素晴らしいクライアントアプリとメディア体験を可能にします。それは現在世界中のコンピューターの3分の2にインストールされており、60万人以上の開発者が現在Silverlightを使ってソフトウェアを構築しています。間違いなく我々はSilverlightへの投資を継続し、将来においても、開発者が素晴らしいアプリと最新の体験を構築できるようにしていきます。



 これで事態はひと段落したのではないかと思います。


 ここからは私見になりますが、今回の一連の騒動を見て私は逆にSilverlightの立ち位置が明確になったのではないかと感じています。
 OSから開発環境にいたるまでマイクロソフトのプラットフォームでワンストップソリューションが提供されている技術のUI基盤がSilverlightシリーズ(WPF UIフレームワーク)、それ以外のより広くリーチしたいアプリケーションについては引き続きHTML(ASP.NET)ということです。



 そう考えますと、それほど方針が変わっているとは思えません。Bob Muglia氏のインタビュー記事には今後のSilverlightバージョンアップのペースが緩やかになることが示唆されています。変わったのは開発リソースを割り当てる優先度のように思います。WPFSilverlightはすでに数回バージョンアップを重ね、成熟とまではいきませんがある一定のレベルに達していると思います。一方HTML5はまさにこれからの技術であり、そこにリソースを集中させなければならないのはある意味当然のように思います。


 SilverlightWPFと同様にバージョンアップの頻度が低くなる、あるいは新機能のボリュームが小さくなるかもしれませんが、投資が打ち切られるということはないと思います。今現在WindowsデスクトップのUI基盤としてはWPF UIフレームワーク以外に有力な技術がないことは明白です。その点が同じHTML5への注力でも、アドビさんとは大きく異なるものだと理解しなければならないと思います。

HTML5への傾倒が進むアドビ - Publickey



 最後にマイクロソフトのRob Relyea氏のTwitterの発言を引用します。

Twitter / Rob Relyea
My goal is to make sure our XAML UI customers are happy...now and into the future. WPF, SL, WP7, ...