2010-04-08 20 views
2

之間進行選擇,我們現有的Web應用程序中使用ASP.NET/Ajax 開發我們正計劃將其移動到任何WPF或Silverlight。WPF和Silverlight

可有人請就生產效率,性能,可維護性,取捨,各有利弊等比較這兩種技術?

另外,可能我也知道使用Silverlight在ASP.NET/AJAX的優勢/劣勢?

感謝您的閱讀。

回答

4

如果你使用WPF,它本質上是一個「漂亮的WinForms應用程序」,而如果你去的Silverlight,那麼你有一個「易於部署和管理的漂亮的web應用程序」。兩者中的代碼將幾乎完全相同,但它取決於你想要的目標。鑑於您正在更換Web應用程序,Silverlight可能更有意義。

+2

只是爲了擴大這個,我會說如果你有疑問,去Silverlight。它具有WPF所具有的大部分功能,甚至可以作爲獨立應用程序進行安裝。 Silverlight缺乏的唯一能力是利用硬件來實現複雜的圖形事物(想想3D),儘管使用Silverlight 4,它甚至可以獲得一些(並非WPF擁有的)使用GPU的能力。 – Jaxidian 2010-04-08 17:24:03

+0

我完全同意你的看法。Silverlight現在非常熱門,微軟在不到兩年的時間裏發佈了4個版本!儘管Silverlight實際上是WPF的一個子集,但差距差距似乎越來越小。 – spong 2010-04-08 18:17:48

+0

Silverlight的另一個好處是,如果您在Silverlight 3上實現標準化,那麼您的應用程序可能在Windows Phone 7上工作很少(主要是UI佈局/大小)。這是巨大的,如果Windows Phone 7成功! – Jaxidian 2010-04-08 18:35:15

0

如果您希望它保持爲Web應用程序,您應該明確選擇Silverlight。另一方面,如果你很樂意使這個可安裝的Windows應用程序,那麼WPF將是更好的選擇。

1

如果.NET環境安裝在客戶端計算機上,WPF將僅運行。 Silverlight類似於Adobe Flex(插件「運行時」添加到Web瀏覽器)之類的東西。

1

WPF基本上運行在桌面環境上,而Silverlight運行在基於瀏覽器的環境上。 Sinice你的應用程序在ASP.Net/AJAX去Silverlight。 Silverlight是WPF的一個子集。所以大多數的東西,如動畫,控制模板,數據綁定(數據模板)都可以在Silverlight中完成。我發現使用WPF/Silverlight的主要優點之一是我們可以將UI團隊和業務邏輯開發團隊分開,以便他們可以同時工作。基本上它是決定是使用桌面環境還是使用基於瀏覽器的問題。

比較性能與基於瀏覽器的應用程序相比,桌面應用程序將佔據上風。使用表達式混合等應用程序來進行UI設計,這將爲您的開發提供更多的靈活性。另一個優點是資源。這有點類似於css,但它有一些很好的附加功能來覆蓋樣式和基於風格的開發。 我的建議是使用Silverlight,如果你希望你的應用程序在基於瀏覽器的其他方面去WPF

0

如果你使用MVVM模式來設計你的應用程序,然後從一個移動到另一個,甚至做兩個是不是很辛苦。你也可以讓設計師使用Blend去鎮上,而不用跺腳代碼。

我的建議是去與一個或兩個,但使用MVVM模式(複合應用程序指南,在這方面一個很大的幫助)。

0

而且對什麼上面說:你的應用程序的體系結構將取決於你是否開發它作爲一個WPF應用程序或Silverlight應用程序是不同的。使用Silverlight很可能您將不得不使用RIA服務,併爲您的模型與WPF比較有不同的概念。另外,許多人認爲Silverlight會倒閉。所以你最好看看Html5