OpenSilverは、サポート終了が迫る中、Microsoft Silverlight開発者に救いの手を差し伸べる。さもなければ、サポート終了など忘れ去られるかもしれない。

Table of Contents

OpenSilverは、サポート終了が迫る中、Microsoft Silverlight開発者に救いの手を差し伸べる。さもなければ、サポート終了など忘れ去られるかもしれない。

現在、従来の Internet Explorer でのみサポートされている Microsoft Silverlight は、10 月 12 日に完全にサポートが終了しますが、Silverlight プロジェクトを WebAssembly に変換する OpenSilver と呼ばれるオープンソース プロジェクトが登場しました。

Silverlight は、Adobe Flash がマルチメディアの事実上のプラットフォームとなり、クロスプラットフォーム クライアント アプリケーションの強力な候補になる可能性が示唆されていた時代に、今では別世界のように思える時代に Microsoft が開発したプラグインです。

Silverlightの最初のバージョンは2007年にマルチメディアプレーヤーとして登場しましたが、その後すぐに、簡素化された.NETランタイムを搭載したバージョンがリリースされ、WindowsとMac(Linuxサポートは謳われていましたが、完全には実現しませんでした)のブラウザとデスクトップの両方で実行できるようになりました。Silverlightのコンテンツとアプリケーションは、Windows Presentation Foundationのスリム版であるXAMLで定義されました。SilverlightはWindows Phoneアプリケーションのランタイムにもなりました。

2010年、故Apple CEOスティーブ・ジョブズ氏が「Thoughts on Flash」(残念ながらAppleのウェブサイトから削除されています)を投稿し、iOSではFlashがサポートされないことを明言したことで、すべてが変わりました。「Adobeの目標は、開発者が最高のiPhone、iPod、iPadアプリを開発できるように支援することではなく、クロスプラットフォームアプリを開発できるように支援することです」とジョブズ氏は記しています。

この主要プラットフォームが廃止されたことで、業界の焦点はマルチメディアアプリケーションとブラウザ内アプリケーションの両方においてHTML 5とJavaScriptへと移行しました。同年後半、当時Microsoftのサーバー&ツール部門プレジデントを務めていたボブ・マグリア氏は、Silverlightも方向性が間違っていたことを認め、「戦略は転換した」と述べました。最後のメジャーバージョンは2011年12月のSilverlight 5.0でした。

しかし、Silverlightがクロスプラットフォームおよびブラウザホスト型アプリケーションにおけるMicrosoftの方向性を示すように見えた時期があり、多くの開発者がSilverlightに力を注いでいました。それらの一部は今でも稼働しているかもしれませんが、もしそうだとすれば、その時代は終わりに近づいています。

「Microsoft Silverlightのサポートは2021年10月12日に終了します」と同社は発表しました。「Silverlight開発フレームワークは現在、Internet Explorer 10とInternet Explorer 11でのみサポートされており、Internet Explorer 10のサポートは2020年1月31日に終了します。Chrome、Firefox、そしてMacオペレーティングシステムを使用するすべてのブラウザのサポートは終了しました。」

Silverlightアプリケーションは引き続き動作しますが、インストーラーは利用できなくなります。また、IE 11のサポートは2022年6月15日に終了しますが、EdgeのIEモードは引き続き利用可能となるため、引き続きご利用いただくようお願いいたします。

すべてをJavaScriptで書き直す以外にも、別の選択肢があります。OpenSilverは、WebAssemblyを使用して最新のブラウザで動作するSilverlightの再実装です。オープンソースであり、C#とXAMLをJavaScriptとHTMLにコンパイルする別のプロジェクトであるCSHTML5に関連しています。

  • ちょっと大胆な気分?Microsoftのリリースには.NET 6のGo Liveライセンスも含まれる
  • クロスプラットフォームのWindows Presentation Framework、いかがですか?答えは「はい」です。Avaloniaの解説
  • MAUI 前の最後のストップ: クロスプラットフォーム モバイル向け Xamarin Forms 5.0 がリリース、新機能と新たなバグ
  • Blazor: フルスタック C# と ASP.NET Web フォームの熱烈なファンに向けた Microsoft の提案

ドキュメントによると、「Silverlight アプリケーションを OpenSilver に移行するための一般的な原則は、元の Silverlight プロジェクトごとに OpenSilver タイプのプロジェクトを作成し、元のプロジェクトから OpenSilver プロジェクトにすべてのファイルをコピー/貼り付けし、最後にソリューションをコンパイルすることです。」

OpenSilverの開発元であるUserwareは、「OpenSilverは現在Silverlight機能のサブセットをサポートしているため、多くのコンパイルエラーが発生することが予想される」と警告しています。また、TelerikやDevExpressなどのサードパーティ製コンポーネントにも問題があります。これらの企業は、ある程度同等のHTML/JavaScriptコンポーネントを提供している場合があり、その場合はコードを置き換えることができます。

OpenSilverショーケースには相互運用例とWebViewコントロールが含まれています

OpenSilverショーケースには相互運用例とWebViewコントロールが含まれています

OpenSilver ショーケースでは、DataGrid やタブ コントロールなどの豊富なパネルとコントロール、ファイル処理、Linq、AysncAwait などの .NET 機能、分離ストレージへのアクセス、SOAP および REST Web サービスの使用、WebSocket のサポートなど、サポートされている多くの機能が紹介されています。

OpenSilverは、Silverlightのサポートが終了する10月12日に「フルバージョン」をリリースすることを約束しています。とはいえ、リポジトリをざっと見たところ、まだ開発が進行中であることがわかります。重要なのは、Silverlightのサブセットのうち、どの範囲までが動作するかということです。ToDoリストには、新しいレイアウトシステム、Visual Basicのサポート、WPFアプリケーションへの移行、そしてかつては有望な開発ツールとして不運にも終わったMicrosoft LightSwitchのサポートまで含まれています。

OpenSilverの開発者たちは、.NET 6.0で導入されるMicrosoft BlazorのAhead-of-Time(AoT)コンパイルを心待ちにしています。BlazorはWebAssemblyを介してWebブラウザ上でC#を実行しており、OpenSilverはこれを活用しています。プレスリリースによると、「ベータ版ではAoTコンパイルを利用することで、最初のリリースと比較して最大15倍のパフォーマンス向上を実現しました。」

OpenSilver の存在は、Microsoft が開発プラットフォームのさまざまな方向転換によって、一部のユーザーが将来性のないテクノロジーに取り残されてきたことを示しています。別の例として、Visual Studio Tools for Office を参照してください。

とはいえ、.NET CoreとBlazorの登場により、.NETコードをクロスプラットフォームまたはブラウザで実行するための選択肢が数多く存在するようになりました。UnoプラットフォームはSilverlightのもう一つの選択肢であり、移行ガイドも用意されています。

では、Silverlight を諦めてはいかがでしょうか?移行作業が必要になる可能性が高いことを考えると、完全な HTML と JavaScript のアプリケーションに移植するか、Microsoft 公式の Blazor ソリューションを使用する方が合理的ではないでしょうか?

このOpenSilverショーケースでは、SilverlightコンテンツがHTMLとJavaScriptにレンダリングされる様子が示されていますが、iPadでは動作しません。

このOpenSilverショーケースでは、SilverlightコンテンツがHTMLとJavaScriptにレンダリングされる様子が示されていますが、iPadでは動作しません。

「私たちは.NET開発者であり、Silverlightは基幹業務(LOB)アプリケーション開発において史上最高のプラットフォームだと信じています」とプレスリリースには記されている。Microsoftの「戦略転換」から10年以上が経過した今も、Silverlightを手放したくない人々がいる。

しかし、ShowcaseはiPadでは正常に動作しないことが判明しました。もしかしたら、「完全リリース」の頃には動作するようになるかもしれません。®

Discover More