LASSIC Media らしくメディア
Silverlight終了、業務アプリ移行を外注
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- Microsoft Silverlightは2021年10月12日にサポートを終了しており、対応ブラウザもInternet Explorer 10・11に限られていたとMicrosoft公式が案内しています。
- Silverlight製の業務アプリを放置すると、ブラウザの世代交代とともに画面が表示できなくなる恐れがあり、移行先にはHTML5/SPAとBlazorという2つの代表的な選択肢があります。
- 移行の進め方は現状棚卸しから段階移行まで複数の工程を要するため、内製と外注のどちらで進めるかを費用構造とリスク対応の両面から判断する必要があります。
目次
Silverlightとは何か?業務アプリ開発に使われてきた背景
Microsoft Silverlightとは、ブラウザ上でリッチなユーザーインターフェース(RIA:リッチインターネットアプリケーション)を動かすためにMicrosoftが提供していたプラグイン型のアプリケーション実行環境です。2007年の登場以降、社内向けの基幹業務アプリや情報系システムの画面をブラウザだけで動かす手段として、国内の多くの企業で採用が進みました。
Silverlightが選ばれた理由の一つは、Windows Forms・WPFといったデスクトップアプリの開発資産に近い感覚で、C#やXAMLを使ってブラウザ上のUIを構築できた点にあります。データグリッドや帳票画面など、業務システムで求められる複雑な入力・表示処理を、当時のHTMLやJavaScriptだけで実現するより効率よく組める場面が多かったためです。
Silverlightのサポート終了はいつか、公式情報で確認する
終了日は2021年10月12日
Microsoftのライフサイクル公式アナウンスは、「Silverlightは2021年10月12日にサポートを終了する」と明記しています*1。あわせて、Silverlight 5の製品ライフサイクルページでも、メインストリームサポートの終了日として同じ2021年10月12日が示されており*2、2つの公式情報源で終了日は一致しています。すでにサポート終了から4年以上が経過している状況です。
対応ブラウザはIE10・11のみ、他ブラウザは非対応
同じ公式アナウンスによると、Silverlightの開発フレームワークはInternet Explorer 10と11でのみサポートされており、そのうちInternet Explorer 10のサポート自体も2020年1月31日に終了しています*1。さらに、Chrome・Firefox、またMac OS上で動作するブラウザについては、Silverlightのサポート対象に含まれていないとも明記されています*1。つまり、現在主流となっているモダンブラウザの多くは、そもそもSilverlightの正式なサポート対象外だったことになります。
サポート終了後、社内の業務アプリで起こりうるリスク
サポートが終了したSilverlight製の業務アプリを使い続ける場合、いくつかのリスクが積み重なっていきます。第一に、対応ブラウザがIE10・11に限定されているため*1、社内の標準ブラウザをモダンブラウザへ切り替えたタイミングで、画面が表示できなくなる、あるいは一部機能が動かなくなるといった不具合が表面化しやすくなります。
第二に、OSやブラウザのアップデートが積み重なるほど、Silverlight自体の脆弱性や不具合が修正されないまま放置される期間が延びることも見過ごせない点です。第三に、開発当時の担当者が退職・異動している場合、XAMLやWCF RIA Servicesといった当時の技術構成を把握できる人材が社内に残っていない事態も起こり得るでしょうか。属人化が進むほど、移行の判断は先送りしにくくなります。
移行先の選択肢:HTML5/SPAとBlazorの違いを比較する
HTML5/SPAという選択肢
Microsoftが公開する.NETアーキテクチャガイドでは、Webアプリの作り方を「従来型のサーバーレンダリング」と「SPA(シングルページアプリケーション)」の2つに大別しています*4。SPAは複雑で機能の多い画面が必要な場合や、開発チームがJavaScript・TypeScriptに慣れている場合に適しているとされ、一方で従来型は非JavaScript環境での動作や検索エンジンからの流入を重視する場合に向いていると整理されています*4。
Silverlightの業務アプリは、データグリッドや複雑なフォーム入力を伴うケースが多く、機能面ではSPAの適性が高い領域と重なります。ただしSPAの開発にはJavaScript・TypeScriptの実装力が必要になるため*4、これまでC#・XAMLで開発を担ってきたチームにとっては、新たな学習コストが発生する点も考慮が必要でしょうか。
Blazorという選択肢
Blazorは、.NETでブラウザ上のインタラクティブなUIを構築するためにMicrosoftが提供するフレームワークです*3。なかでもBlazor WebAssemblyは、WebAssemblyという技術を使ってブラウザ内で.NETコードを直接実行するSPAフレームワークであり、プラグインなしで動作し、モバイル向けを含む主要なモダンブラウザで利用できるとされています*3。C#での開発に慣れたチームであれば、JavaScriptを大きく書き直さずに済む点は移行の負担を抑えやすい要素です。
同じくMicrosoftのアーキテクチャガイドは、開発チームがJavaScript・TypeScriptよりも.NET開発に慣れている場合の選択肢としてBlazorを位置づけています*4。SilverlightがC#・XAMLで書かれていた経緯を踏まえると、既存資産や社内のスキルセットとの親和性を軸に検討する価値がある選択肢と言えます。
Blazorへの移行が向くケースと選定の視点
Microsoftのアーキテクチャガイドが示す判断軸を整理すると、リッチな画面が求められ、かつ開発チームがJavaScript・TypeScriptよりも.NET開発に慣れているという2つの条件がそろう場合、Blazorという選択肢が挙がりやすくなります*4。反対に、開発チームがすでにJavaScript・TypeScriptに習熟している場合や、社外向けに検索エンジン経由の流入を重視する画面が含まれる場合には、HTML5/SPAや従来型のWebアプリとの比較検討も欠かせません*4。
なお、BlazorにはWindows FormsやWPFといった既存のネイティブアプリを.NET MAUIへ移行するための橋渡しとして「Blazor Hybrid」という形態も用意されています*3。Silverlightと同様にXAMLを使う開発資産を抱える企業にとっては、参考になる選択肢の一つでしょうか。ただし、Silverlight専用の公式移行ガイドはMicrosoftから提供されていないため、個別の仕様や移行手順については都度、公式ドキュメントで要確認としたうえで検討を進める必要があります。
Silverlight業務アプリ移行の進め方:棚卸しから段階移行まで
まず現状の利用範囲を棚卸しする
移行を始める前に欠かせないのが、現状棚卸しです。どの業務でSilverlight製アプリを使っているか、利用者数はどの程度か、連携している他システムはあるかといった情報を整理する工程になります。あわせて、当時の開発言語・フレームワークのバージョンや、WCF RIA Servicesのような周辺技術への依存度も確認しておくと、後工程の見積もり精度が上がります。
優先度の高い機能から段階的に移行する
棚卸しが終わったら、HTML5/SPAとBlazorのどちらへ移行するかを、開発チームのスキルセットと画面要件を踏まえて選定します。その後は、すべての機能を一度に置き換えるのではなく、利用頻度の高い画面や業務影響の大きい機能からPoC(概念実証)を行い、段階的に移行範囲を広げていく進め方が現実的です。一括での全面移行は、検証不足によるトラブルのリスクが相対的に高まりやすいため、多くの現場では段階移行が選ばれています。
内製移行と外注委託のコスト構造比較
Silverlightからの移行を内製で進める場合と、外部パートナーへ委託する場合では、必要なスキルセットや費用の発生タイミングが異なります。以下の表に主な違いを整理しました。
| 比較項目 | 内製移行 | 外注委託 |
|---|---|---|
| 必要なスキルセット | HTML5/SPAまたはBlazorの実装力に加え、旧Silverlightコードの仕様読解力が必要です | 移行実績を持つパートナーが仕様読解から実装まで対応します |
| 現状棚卸しの負担 | 利用範囲・連携システムの洗い出しを自社の情報システム部門が担います | 棚卸しの進め方自体を含めて相談できます |
| 段階移行・PoCの検証 | 検証環境の準備からテスト設計まで自社で計画します | 複数案件の知見を踏まえた検証計画を任せられます |
| 移行後の運用体制 | 新技術の保守体制を自社人員で継続的に維持します | 保守・運用まで含めて委託できる場合があります |
外注に委託した場合との違い
専門パートナーに委託すると、現状棚卸しから移行方式の選定、段階移行の計画、移行後の運用設計まで一連の工程を任せられます。自社だけで進める場合、旧Silverlightコードの仕様読解や、HTML5/SPA・Blazorそれぞれの実装経験を持つ人材の確保に時間がかかる場面も少なくありません。
複数の業務アプリ移行を手がけてきたパートナーであれば、過去の知見を踏まえて移行範囲の優先順位づけを提案できる場合もあります。内製と外注のどちらを選ぶ場合でも、まずは自社の利用範囲と社内スキルセットの整理が出発点になるでしょうか。
まとめ:Silverlight業務アプリ移行の3つの判断軸
本稿では、Microsoft Silverlightのサポート終了に関する公式情報と、業務アプリの移行を進めるうえでの考え方を整理しました。要点は次の3つに集約されます。第一に、Silverlightは2021年10月12日にサポートを終了しており、対応ブラウザもIE10・11に限られていたとMicrosoft公式が案内しています*1*2。第二に、移行先にはHTML5/SPAとBlazorという代表的な選択肢があり、開発チームのスキルセットと画面要件を軸に選定することが大切です*3*4。第三に、移行の進め方は現状棚卸しから段階移行まで複数の工程を要するため、内製と外注のどちらで進めるかを費用構造とリスク対応の両面から判断する必要があります。
よくある質問
Silverlightのサポートはいつ終了しましたか。
Microsoft公式のライフサイクルアナウンスにより、2021年10月12日にサポートが終了したことが案内されています。Silverlight 5の製品ライフサイクルページでも同じ終了日が示されています。
サポート終了後もSilverlight製の業務アプリは動きますか。
Microsoft公式アナウンスによると、Silverlightの開発フレームワークはInternet Explorer 10・11でのみサポートされており、Chrome・Firefox・Mac向けブラウザはサポート対象に含まれていません。現在主流のモダンブラウザでは正常に動作しない可能性が高く、個別の動作状況は自社環境で要確認です。
移行先はHTML5/SPAとBlazorのどちらを選ぶべきですか。
Microsoftのアーキテクチャガイドは、開発チームがJavaScript・TypeScriptに慣れている場合や社外向けに検索エンジン経由の流入を重視する場合はSPA、.NET開発に慣れている場合はBlazorという形で選択の目安を示しています。自社のスキルセットと画面要件を軸に検討することが望ましいでしょう。
内製と外注、どちらで移行を進めるべきですか。
必要なスキルセットや検証体制をどこまで自社で用意できるかによって判断が分かれます。旧Silverlightコードの仕様読解力や新技術の実装経験を社内で確保しにくい場合は、移行実績を持つ外部パートナーへの委託も選択肢になります。
移行にはどのくらいの期間がかかりますか。
Microsoftから公式のSilverlight専用移行ガイドは提供されていないため、期間は業務アプリの規模や連携システムの数によって個別に見積もる必要があります。まずは現状棚卸しを行い、優先度の高い機能からPoCで検証範囲を確認する進め方が現実的です。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Microsoft Lifecycle公式「Silverlight End of Support」(https://learn.microsoft.com/en-us/lifecycle/announcements/silverlight-end-of-support)
- *2 出典:Microsoft Lifecycle公式「Silverlight 5」製品ライフサイクルページ(https://learn.microsoft.com/en-us/lifecycle/products/silverlight-5)
- *3 出典:Microsoft Learn「ASP.NET Core Blazor」公式ドキュメント(https://learn.microsoft.com/en-us/aspnet/core/blazor/)
- *4 出典:Microsoft Learn「Choose between traditional web apps and single page apps」(https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/choose-between-traditional-web-and-single-page-apps)