Silverlightはリッチインターネットアプリケーションのフレームワークとして普及したテクノロジーですが、タブレット/スマートフォンとHTML5(現在はHTML Live Standard)の台頭により、各種プラットフォーム、ブラウザでのサポートが終了しています。
典型的なSilverlightで構築されたシステムは、Webベースのシステムでありながら、 UIレイヤ(プレゼンテーション部分)はほぼ完全にクライアントのマシンで実行され、サーバー側にはロジックとデータレイヤのみが存在する、 いわゆるリッチクライアントのモデルで開発されています。
Silverlightの移行案及び上図①、②、③、④に対する影響と、各案のメリット・デメリットは以下の通りです(参考)。実際には「技術検討(比較、検証、PoC」等を行い、コストの比較が必要な場合があります。
移行先の案 | 影響① UI |
影響② 通信 プロトコル |
影響③ ロジック |
影響④ データ |
メリット | デメリット |
---|---|---|---|---|---|---|
WPF | 小 | なし | なし | なし |
|
|
UWP | 中 | なし | なし | なし |
|
|
|
|
|||||
.NET MAUI | 中 | なし | なし | なし |
|
|
ASP.NET MVC / Core, etc |
大 | 中~大 | 小 | 小 |
|
|
移行先の案 | 影響① UI |
影響② 通信 プロトコル |
影響③ ロジック |
影響④ データ |
メリット | デメリット |
---|---|---|---|---|---|---|
Angular, React, Vue.js |
中 | 中 | 中 | なし |
|
|
移行先の案 | 影響① UI |
影響② 通信 プロトコル |
影響③ ロジック |
影響④ データ |
メリット | デメリット |
---|---|---|---|---|---|---|
Blazor | 中 | 小 | 小 | なし |
|
|
Uno Platform | 小 | 小 | 小 | なし |
|
|
(考察ポイント)コストやプラットフォームの制約に応じて採用する技術を検討する必要があります。 プラットフォームを限定できるのであれば、WPFが最も低コストとなります。 様々なプラットフォームに対応したい場合は、JavaScript系技術およびWebAssembly技術が有力です。 JavaScript系技術とする場合、Mirosoft系技術をベースに開発されてきた企業においては新たなスキルセットが必要です。ただし、作り方についてSilverlightと対応付けて考えることが可能なため選択肢として検討に値します。移行元となるアプリケーションに応じて、AngularやReact、Vue.js等のフレームワークを選択するのが良いでしょう。 WebAssembly技術は非常にホットな技術です。場合によれば既存のソースコード(ロジック部分)をそのまま流用できる可能性もあります。新しい技術に対する許容如何にもよりますが、選択肢としては今後有力になる可能性のある技術です。
貴社のシステムまたは製品が将来サポートするべきプラットフォームは何か
既存のソフトウェア資産の中でできる限り活用(流用)したいものは何か
時間軸、コスト、リソース等の制約は何か
目的に合ったご提案
お客様からシステムの現状をお伺いし、システムの目的に合った新しいプラットフォームをご提案します。 |
豊富な開発経験による対応力
例えば、弊社は2008年からWPFでの本格的なアプリケーション開発に取り組んでいるパイオニアです。 Microsoft系の各種技術に深い造詣を持ったエンジニアが多く在籍しています。また、Web系の技術(Angular, Java, Blazor, etc)の開発経験が豊富なエンジニアも多く、 デスクトップアプリケーションからWEBアプリケーションまで対応が可能です。 |
既存のソフトウェア資産の活用
Silverlightのアプリケーションが厳密にMVVMモデルに基づいて構築されているのであれば、新技術への移行は比較的容易です。 しかし、現実のアプリケーションでは工数やスキルの不足などによりそのようにはなっておらず、移行の際にネックとなること予想される場合があります。 このような場合は、リファクタリングを行ってソフトウェアの構造を改善してから、プラットフォームの移行に着手することが極めて有用です。 弊社はリファクタリングの実績も豊富に有しており、これまでお客様から高く評価していただいております。 |
当サービス実施の流れは概ね次のようになります。この他にも様々な形での対応が可能です。
お客様のアプリケーションの概要や背景、規模等についてお聞かせいただき、目的に合った移行計画をご提案させていただきます。