2013-03-06 25 views
0

我有Silverlight應用程序,它具有相同的代碼基礎的Windows和Web。因此,相同的代碼通過Silverlight瀏覽器插件在Windows和瀏覽器上運行。一些業務邏輯在ViewModel中。遷移Silverlight

微軟將不會支持Silverlight,因此我們希望爲此應用程序提供未來戰略。我們想知道我們可以使用哪種silverlight替代方案,並通過最少的代碼更改來幫助我們。

以下是對新選擇的一些期望。即,它應該

  1. 有無UI代碼鹼相同於網站/窗口
  2. 重用邏輯在的ViewModels。

我聽說使用html5作爲替代方法,請告知在這種情況下使用html5或其他我們可以使用的東西。

回答

0

Silverlight是在Windows和Web之間共享代碼的好方法。首先,我會問你爲什麼要維護兩個不同的應用程序。你有沒有考慮過將它們統一到一個基於Web的應用程序中?

帶有.NET後端的HTML 5通常會成爲您的最佳跨平臺方法,因爲您已經編寫了後端代碼。通過維護一個平臺,您不必將任何工作翻倍。這將滿足要求#1和#2。

我知道這是從你現有的代碼庫的範式轉變,但我已經經歷了這種類型的轉換。它進行得相當順利,我很高興我們做到了。感謝像Knockout.js和jQuery這樣的客戶端庫,使用HTML 5應用程序替換Silverlight比以往更容易。

如果你仍然想讓他們分開,我不知道如果沒有比我提到的策略更多的工作,你將如何實現這一目標。作爲替代方案,您可以繼續使用該應用程序,因爲它處於當前狀態。 Silverlight仍然是一個可行的解決方案。我會說你有足夠的時間來規劃你的策略。

+0

我們有2個版本,因爲桌面版本與硬件交互,並且在客戶端前端的產品點膠系統上運行。所以在這種情況下,如何選擇諸如系統的工具/技術。我們只是想盡可能減少返工和重複使用。謝謝... – krishna 2013-04-04 10:04:29

0

這聽起來像你只是遠離了Silverlight,因爲你認爲它不會被支持。請注意,微軟已保證Silverlight 5 will be supported until 2021,因此它不會很快死亡:它只是不會得到新的版本。

如果你想從Silverlight切換,因爲你想支持不運行Silverlight的平臺,比如智能手機,那麼ASP.NET基本上就是重用任何業務邏輯的唯一方式,在Windows應用程序和Web應用程序之間獲得大量代碼重用,當然不會在ui代碼中使用。

所以,基本上:要麼保持Silverlight,如果這將滿足您的要求,否則像一個單一的Web應用程序,如傑森楊建議,這可能是最好的選擇。