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

現在のSilverlightを取り巻く環境

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


flowarrow

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

移行先の案

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

Silverlightモデル

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

.NET系技術をベースにする場合:
移行先の案 影響①
UI
影響②
通信
プロトコル
影響③
ロジック
影響④
データ
メリット デメリット
WPF なし なし なし
  • ソースの変更量が最も少ない
  • クライアントはWindowsのみ
UWP なし なし なし
  • ソースの変更量が少ない
  • クライアントはWindows10デバイス
Xamarin なし なし なし
  • ソースの変更量は多くはない
  • 開発言語はC#のまま
  • クライアントはWindows、iOS、Androidデバイス
.NET MAUI なし なし なし
  • ソースの変更量は多くはない
  • 開発言語はC#のまま
  • クライアントはWindows、iOS、Androidデバイス
ASP.NET MVC
/ Core, etc
中~大
  • 幅広いデバイスに対応
  • C#/VB.NETが使用可能
  • 修正量が非常に多い
※Xamarinは2024年5月にサポートが終了します。後継となる.NET MAUIがリリースされています。

JavaScript系技術を取り入れる場合:
移行先の案 影響①
UI
影響②
通信
プロトコル
影響③
ロジック
影響④
データ
メリット デメリット
Angular,
React, Vue.js
なし
  • 幅広いデバイスに対応
  • オープン技術
  • Silverlight開発と異なる技術セットが必要

WebAssembly技術を取り入れる場合
移行先の案 影響①
UI
影響②
通信
プロトコル
影響③
ロジック
影響④
データ
メリット デメリット
Blazor なし
  • 幅広いデバイスに対応
  • オープン技術
  • Silverlight開発と異なる技術セットが必要
  • 新しい技術へのチャレンジが必要
Uno Platform なし
  • 幅広いデバイスに対応
  • オープン技術
  • Silverlight開発と異なる技術セットが必要
  • 新しい技術へのチャレンジが必要
  • 現時点では品質に不安が残る

(考察ポイント)コストやプラットフォームの制約に応じて採用する技術を検討する必要があります。 プラットフォームを限定できるのであれば、WPFが最も低コストとなります。 様々なプラットフォームに対応したい場合は、JavaScript系技術およびWebAssembly技術が有力です。 JavaScript系技術とする場合、Mirosoft系技術をベースに開発されてきた企業においては新たなスキルセットが必要です。ただし、作り方についてSilverlightと対応付けて考えることが可能なため選択肢として検討に値します。移行元となるアプリケーションに応じて、AngularやReact、Vue.js等のフレームワークを選択するのが良いでしょう。 WebAssembly技術は非常にホットな技術です。場合によれば既存のソースコード(ロジック部分)をそのまま流用できる可能性もあります。新しい技術に対する許容如何にもよりますが、選択肢としては今後有力になる可能性のある技術です。  

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

サービスのポイント

サービス実施の流れ



関連リンク

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