Silverlightで構築したシステムの移行支援

現在のSilverlightを取り巻く環境

Silverlightはリッチインターネットアプリケーションのフレームワークとして普及したテクノロジーですが、タブレット/スマートフォンとHTML5(現在はHTML Live Standard)の台頭により、各種プラットフォーム、ブラウザでのサポートが終了しています。


flowarrow

エイムネクストでは、Silverlightで構築されたシステムを
別のプラットフォームへ移行するサービスを提供しております。

移行先の案

典型的なSilverlightで構築されたシステムは、Webベースのシステムでありながら、 UIレイヤ(プレゼンテーション部分)はほぼ完全にクライアントのマシンで実行され、サーバー側にはロジックとデータレイヤのみが存在する、 いわゆるリッチクライアントのモデルで開発されています。

Silverlightモデル

Silverlightの移行案及び上図①、②、③、④に対する影響と、各案のメリット・デメリットは以下の通りです(参考)。実際には「技術検討(比較、検証、PoC」等を行い、コストの比較が必要な場合があります。

移行先技術:
移行先の案 影響①
UI
影響②
通信
プロトコル
影響③
ロジック
影響④
データ
メリット デメリット
OpenSilver なし なし なし なし
  • 多くのケースで、ソース変更は不要
WPF なし なし なし
  • ソースの変更量が非常に少ない
  • クライアントはWindowsのみ
UWP なし なし なし
  • ソースの変更量が少ない
  • クライアントは Windows10デバイス
WinUI なし なし なし
  • ソースの変更量が少ない
  • クライアントは Windows10/Windows11
Uno Platform なし なし なし
  • 幅広いデバイスに対応
  • ソースの変更量が少ない
  • オープン技術
  • 個別のプラットホームごとの作り込みが必要になることもある
Xamarin なし なし なし
  • ソースの変更量は多くはない
  • 開発言語はC#のまま
  • クライアントはWindows、iOS、Androidデバイス
  • 個別のプラットホームごとの作り込みが必要になることもある
.NET MAUI なし なし なし
  • ソースの変更量は多くはない
  • 開発言語はC#のまま
  • クライアントはWindows、iOS、Androidデバイス
  • 個別のプラットホームごとの作り込みが必要になることもある
  • xamlに互換性がないため、類似技術の Unoと比較すると変更量は多い。
ASP.NET MVC
/ Core, etc
中~大
  • 幅広いデバイスに対応
  • C#/VB.NETが使用可能
  • Silverlight開発と異なる技術セットが必要
  • 修正量が非常に多い
Angular,
React, Vue.js
なし
  • 幅広いデバイスに対応
  • オープン技術
  • Silverlight開発と異なる技術セットが必要
  • 新規開発に近くなる場合もある
Blazor なし
  • 幅広いデバイスに対応
  • オープン技術
  • Silverlight開発と異なる技術セットが必要
  • 新しい技術へのチャレンジが必要
※Xamarinは2024年5月にサポートが終了します。後継となる.NET MAUIがリリースされています。
※UWPは当面サポートされますが後継技術となる WinUI に移行されていきます。


(考察ポイント)コストやプラットフォームの制約に応じて採用する技術を検討する必要があります。 OpenSilver はSilverlightのソースコードをそのまま流用できるため、移行コストが最も低いと言えますが、3rdパーティの部品などが使用されている場合は、その部品がOpenSilverに対応しているかどうかを確認する必要があります。 クライアントはWindowsに限定できるのであれば、WPFも有力な選択肢です。Siliverlight向けの3rdパーティ部品も、大多数は、WPF向けにも提供されており、場合によっては OpenSilver以上に移行コストを下げられる可能性もあります。

SilverlightはリッチなUIの提供と、WEB上で提供するという大きく二つの特徴をもっていますが、そのどちらを重視するかによって選択肢が変わってきます。 また、移行に合わせてクライアント環境をどのように変更するかも重要なポイントです。 JavaScript系技術とする場合、Mirosoft系技術をベースに開発されてきた企業においては新たなスキルセットが必要です。ただし、作り方についてSilverlightと対応付けて考えることが可能なため選択肢として検討に値します。移行元となるアプリケーションに応じて、AngularやReact、Vue.js等のフレームワークを選択するのが良いでしょう。

まずはエイムネクストの技術者とディスカッションを。

サービスのポイント

サービス実施の流れ



関連リンク

WPF導入支援 C++からC#への移行支援 Springフレームワーク導入支援 モダナイゼーション リファクタリング支援 ドキュメント再構築サービス