私たちのチームは現在、30を超えるモジュール(現在は400人月と推定)で構成される次世代のHIS(病院情報システム)の構築に取り組んでおり、おそらく中央の場所でホストされ、地域を超えてアクセスできます。したがって、主要なUI NFR(非機能要件)は次のようになります。
長所:
短所:
Silverlightのメモリリークの問題。 SLを使用して構築したいくつかのサンプルでそれらに直面し、レガシーXBAPアプリケーションでも同じ問題が発生しました。次のリンクは、恐怖を実証します http://davybrion.com/blog/2010/08/silverlight-getting-worse-when-it-comes-to-memory-leaks/https://stackoverflow.com/questions/5091636/silverlight-4-memory-leaks
Microsoftは、SLの将来についてあまり熱心に見えません。彼らはHTML 5にもっと投資しているようです。SL5または6の将来のリリースも不確実です。 http://support.Microsoft.com/gp/lifean45http://www.zdnet.com/blog/Microsoft/microsoft-our-strategy-with-silverlight-has- shift/7834http://www.zdnet.com/blog/Microsoft/will-there-be-a-silverlight-6-and-does-it-matter/1118
HISモジュールは、同じブラウザーウィンドウ内で複数のタブとして開きます(最大8つのタブを同時に開くことについて話している)。そのブラウザインスタンスにどのくらいの負荷がかかり、それがメモリリークの問題にどのように影響しますか?
ASP.Net開発者向けの学習曲線
SLの別のスタックリンク https://stackoverflow.com/questions/251718/silverlight-wpf-web-app-xbap-or-click-once-pros-and-cons
ニュートラル
私のクエリは?
この演習には多くの研究と努力が費やされているため、これを重複としてマークしないでください。
PS:過去6か月間、ASP.Net Webフォーム(MVPパターンを使用)を使用して製品を構築してきましたが、現在、上記の理由によるテクノロジのシフトを検討しています。
実際にこの問題があります。 Silverligthの開発を開始します。それはかなりの技術ですが、おそらくマイクロソフトによってあきらめられています。したがって、ASP.NET MVCでの開発に変更します。
そう :
それがお役に立てば幸いです。
いくつかの質問に答えるには:
HISモジュールは、同じブラウザーウィンドウ内で複数のタブとして開きます(最大8つのタブを同時に開くことについて話している)。そのブラウザインスタンスにどのくらいの負荷がかかり、それがメモリリークの問題にどのように影響しますか?
なぜ8つのタブを同時に開く必要があるのですか? Silverlightを使用すると、単一のアプリケーションタブとすべてのコントロール/ページなどをタブ付き内にできます。これにより、ブラウザインスタンスに大きな負担がかからず、メモリリークの問題が悪化することもありません。
MVVMパターンを使用してフロントエンドとしてSLを使用して製品を構築する場合、明日UIを別のUI(ASP.Netなど)に置き換えることは可能でしょうか。私の理解では、やり直しはかなりのものになるでしょう。コミュニティはどう思いますか?
UIを置き換えようとすると、現在選択しているほぼすべてのテクノロジーで同じ問題が発生します。 UIからアプリケーションロジックを完全に切り離すことができない場合を除き、大きな手直しが必要になります。それをWPFアプリケーションに変換する場合、最も苦痛はありません。
ただし、このステートメント:
生体認証スキャナー、生体認証リーダーなどのハードウェアデバイスと統合する機能.
webベースのテクノロジーを使用すると、この分野で問題が発生するだろうと私は思います。ここで私は同意します Alex -より良い賭けはネイティブアプリケーションを書くことかもしれません。 Javaを使用すると、複数のプラットフォーム間で相互運用性が得られますが、ネイティブUI要素を使用しないという犠牲が伴います。
生体認証スキャナー、生体認証リーダーなどのハードウェアデバイスと統合する機能。
これは難しい場合があり、SilverlightのOutOfBrowserモードが必要になります。これを機能させるには、COMを使用する必要があります。これにより、クロスブラウザーの要件が台無しになります。 COMはInternetExplorerでのみ機能します。
IMHO WEBアプリケーションの最も難しい要件は、外部デバイスでの作業です。通常、それらを操作するためにC、C++ライブラリが付属しており、C、C++で相互運用する方法が必要です。
Javaアプレットの場合にのみ、これらの要件をWEBテクノロジーで満たすことができるとは思いませんが、Javaアプレットの相互運用機能についてはわかりません。いずれにせよ、ハードウェアを操作する能力に応じて、Java、アプレット、またはデスクトップアプリケーションのいずれかについて考えます。
JSに関心がない場合は、Html5 + JSを使用します。外部プラグインは必要ありません。古いIEはJSを介してHtml5で推論することができ、モバイルデバイスでも機能します。
FlashのようなSLにはプラグインが必要で、モバイルデバイスなどでは機能しません。
MVVMパターンが好きな場合は、MVVMパターンを使用するJSライブラリであるKnockout.jsとHtml5を組み合わせることができます。すでにいくつかのプロジェクトで使用しており、すばらしいです。
したがって、可能な限り互換性があり、可能な限り高速なものを使用する場合は、SLまたはFlashを避けてください。