我工作的公司现有产品是Delphi 32位Windows应用程序。
该应用程序有一个像UI这样的电子表格,需要非常快速的数据网格/表格视图和高级图表(加上常用的按钮/下拉/菜单/工具栏控件)。
我们还有一个.net 3.5 ASP.NET应用程序,它可以反映Windows应用程序中的大部分业务逻辑。
我们想在.net中重写delphi应用程序,因此我们可以拥有一组业务逻辑代码。
如果可能的话,我们想要一个应用程序(这就是我们看Silverlight的原因)。
从WPF到Silverlight我们失去了什么?我们应该不使用它,而是使用WinForms代替?或者我们应该进一步增强ASP.NET / AjAX应用程序?
答案 0 :(得分:1)
如果您没有绑定现有的Winform应用程序,并且计划进行大量的设计工作,那么WPF或Silverlight应该在您的优先级列表中更高。今天WinForms的主要好处是它们更成熟并拥有更多的第三方组件,但XAML正变得越来越流行,并在应用程序GUI设计方面打开了新的大门。
Silverlight和WPF之间的选择主要取决于您的分发方法和应用程序要求。 Silverlight应用程序通常通过网页访问,虽然有一些离线访问它们的方法,但它们在轻量级情况下确实最有效。 WPF应用程序以“完全信任”模式运行,并且具有许多即使在Silverlight脱机应用程序中也不可用的功能。如果您正在谈论简单的数据输入或业务线应用程序,Silverlight应该满足您的需求,但如果您需要访问外部资源(硬盘驱动器,本地数据库,USB设备等),那么您可能会遇到WPF应用程序。我相信WPF应用程序可以使用Click-Once部署,这可以为您提供Web部署应用程序的优势,同时保留对底层硬件的完全访问权限。
答案 1 :(得分:1)
我会去WPF,即使你在WinForms中有一些奇特的控制等,你总是可以在WPF中托管它。
UI需要非常快速的数据网格/表
WPF使用DirectX和Redering要快得多。另外还有一种方法 - XBAP。
另一方面,ASP.NET / AJAX更加多平台。
WPF =快速渲染,ASP.NET / AJAX =多平台。
Silverlight并不那么成熟。
答案 2 :(得分:1)
也可以通过这个参考
答案 3 :(得分:1)
WPF目前更灵活,但WPF和Silverlight都在慢慢融合。如果您希望能够在浏览器中访问应用程序,请转到Silverlight,否则使用WPF。
图表可能有点问题,具体取决于它的复杂程度。到目前为止,WPF或Silverlight的图表包并不多。 ChartFX很不错,但不支持MACD等高级金融机构......在winforms版本中有一个金融包。
另一个考虑因素是该申请是供内部还是外部使用?如果它是外在的,我会说远离银光,因为采用尚未完全。如果它是内部的并且您控制标准,那么肯定会执行silverlight vs asp.net MVC。
答案 4 :(得分:0)
Silverlight在很大程度上是WPF的一个子集(这是一个过于简单化,但总的来说仍然存在)。坦率地说,通过在WPF上使用它不会损失很多 - 实际上,两者之间的XAML差异足以使一个Silverlight解决方案变得更容易。
在任何情况下,我都说要么比WinForms更好,WinForms完全抛弃了Web界面。此外,Silverlight / WPF通常具有更好的渲染引擎,并允许更容易地分离显示和业务逻辑。