2009-08-20 100 views

回答

22

Silverlight是跨平臺並在瀏覽器中運行其應用程序;它可以在任何使用網絡瀏覽器的地方使用。

WPF是僅限於Windows的並且通常在桌面上運行其應用程序;它需要安裝.NET框架。

Silverlight可以被看作是WPF的一個子集(雖然這在技術上並不正確)。它並不具備WPF所具有的功能。然而,你失去了功能,你在可用性方面就會有所收穫。

WPF可以通過瀏覽器部署應用程序,使用所謂的XBAP。儘管如此,這是與Silverlight不一樣的;而Silverlight應用程序實際上已集成到瀏覽器中,WPF僅僅將瀏覽器用作其進程的主機。

有關WPF和Silverlight之間差異的更深入指導,我將參考CodePlex上的this white-paper

2

最大的區別是沙箱。兩者都是沙盒,但WPF瀏覽器應用程序(例如XBAP)可以要求更多的權限,但在Silverlight中,您無法(通過設計)。

5
  1. 從用戶角度來看WPF瀏覽器應用程序用戶將需要安裝的總點網絡框架比Silverlight運行時要高得多。

  2. WPF瀏覽器應用程序將不除Windows OS工作

  3. 有可以使用(如使用攝像頭和光線真正的3D)與WPF瀏覽器應用程序,你不能使用Silverlight做更多的功能。

29

歷史課。 我們讓WPF最初允許設計在涉及基於Windows的應用程序時獲得更多的關注,因爲這是我們從WinForms世界發現的一致反饋。我們生產WPF,它從HTML中發現了類似的技術,但更多的是我們稱之爲成熟時尚(XAML)的技術。

然後,我們決定(根據客戶反饋)在x平臺和x瀏覽器機器上啓用此願景的子集。因此,我們結束了WPF/E(WPF無處不在),後來改名爲Silverlight。

WPF vs Silverlight。 簡單的答案是,如果你想創建一個x平臺/ x-browser覆蓋的解決方案,那麼Silverlight是你最好的選擇。缺點是你無法擺脫瀏覽器中強加的沙箱,所以如果它的應用程序很樂意生活在它所居住的機器中,那麼Silverlight可以爲你提供更合理的結果(超出瀏覽器,獨立存儲等可以讓你更多地訪問人機器)。

然而,WPF是深入訪問的,這意味着您想訪問USB驅動程序或與.NET等其他技術對話。相同的原則,只是更深入的無限制訪問。

您可以部署.XBAP解決方案,它非常類似於Silverlight,但在訪問方面提供了更深的一點......將其視爲WPF和Silverlight之間的中間孩子。

前進。 我們正在花費週期來確保WPF/Silverlight在統一的API等方面更加融合,使您能夠在技術體驗上升/下降,而無需徹底改變您的邏輯。我們今天已經有了可以幫助你的框架(比如PRISM/MEF),但是我們正在努力使這兩種技術恢復平衡。

意見或建議,並隨時關注我們的Twitter通過@teamsilverlight抱怨/好評。

Scott Barnes/Rich Platforms產品經理/ Microsoft。

+3

+1對此有良好的破壞 – 2009-08-23 17:25:13