2010-07-30 47 views
1

我工作的公司有一個現有的產品,它是一個Delphi 32位Windows應用程序。WPF,Silverlight或WinForms?

該應用程序有一個像UI這樣的電子表格,它需要非常快速的數據網格/表格視圖和高級圖表(加上通常的按鈕/下拉菜單/工具欄控件)。

我們還有一個.net 3.5 ASP.NET應用程序,它反映了Windows應用程序中大部分的業務邏輯。

我們想在.net中重寫delphi應用程序,所以我們可以有一組業務邏輯代碼。

如果可能的話,我們想要一個應用程序(這就是我們看Silverlight的原因)。

從WPF轉到Silverlight我們會失去什麼?我們是否應該使用,並使用WinForms?還是應該進一步增強ASP.NET/AJAX應用程序?

+0

確切地回答的變量太多。影響決策的因素有:是否需要通過互聯網提供可用性(這可以排除WPF)?它是否需要豐富的UI(這可以排除ASP.NET?)您是否有時間和資源來添加整個UI層(這可以排除WPF和Silverlight)? ASP.NET是分層的並且足夠分層以使用WPF/Silverlight的業務邏輯? – SteveCav 2010-07-30 03:42:46

+0

互聯網:不需要。它需要通過WCF連接到服務器。 UI:相當豐富 ASP.NET:是的,業務邏輯是使用乾淨的API在自己的程序集中。 – WOPR 2010-07-30 05:33:41

回答

1

WPF是目前較爲靈活,但WPF和Silverlight中正在慢慢融合。如果你想要在瀏覽器中訪問應用程序的能力去Silverlight,否則WPF。

根據圖表的複雜程度,圖表可能有點問題。到目前爲止,WPF或Silverlight沒有太多可用的圖表包。 ChartFX是體面的,但不支持先進的金融,如MACD等,其中有一個金融包在WinForms版本可用。

另一個考慮因素是如果這個應用程序是內部或外部使用?如果它是外在的,我會說遠離silverlight,因爲採用還不夠。如果它是內部的,你控制標準,那麼一定要做silverlight vs asp.net MVC。

0

Silverlight在很大程度上是WPF的一個子集(這是一個過於簡單化,但總體點仍然存在)。坦率地說,通過WPF使用它不會失去很多 - 事實上,兩者之間的XAML差異足以讓一個Silverlight解決方案變得更容易。

無論如何,我會說要麼比WinForms更好,它完全拋出Web界面。此外,Silverlight/WPF具有更好的渲染引擎,並且可以更輕鬆地分離顯示和業務邏輯。

1

如果您沒有綁定到現有的Winform應用程序,並且您計劃進行大量設計工作,那麼WPF或Silverlight應該位於優先級列表中較高的位置。今天WinForms的主要優勢在於它們更加成熟,並且擁有更多第三方組件,但XAML正變得越來越流行,並且在應用程序GUI設計方面開闢了新的大門。

Silverlight和WPF之間的選擇主要取決於您的分發方法和應用程序需求。 Silverlight應用程序通常通過網頁訪問,雖然有離線訪問它們的方法,但它們確實在輕量級情況下效果最佳。 WPF應用程序以「完全信任」模式運行,並具有許多即使在Silverlight Offline應用程序中也不可用的功能。如果您正在討論簡單的數據輸入或業務線應用程序,Silverlight應該滿足您的需求,但是如果您需要訪問外部資源(硬盤驅動器,本地數據庫,USB設備等),則可能會遇到WPF應用程序。我相信WPF應用程序可以使用Click-Once部署,這可以讓您在保留對底層硬件的完全訪問權限的同時獲得Web部署應用程序的好處。

1

WPF vs Silverlight

我會去WPF,即使你有一些奇特的控制等中的WinForms,你總是可以承載它的WPF。

UI需要非常快的數據網格/表

WPF使用DirectX和Redering的速度要快得多。你還有另一種方式 - XBAP。

另一方面,ASP.NET/AJAX是更多平臺。

WPF =快速呈現,ASP.NET/AJAX =多平臺。

Silverlight並不那麼成熟。