我的组织正在考虑使用哪些技术来开发下一代系统。我们将使用.NET,但尚未确定最佳的用户界面技术。Silverlight和WPF似乎是最合适的选项。是否有人可以分享每种方法的优缺点?
我的组织正在考虑使用哪些技术来开发下一代系统。我们将使用.NET,但尚未确定最佳的用户界面技术。Silverlight和WPF似乎是最合适的选项。是否有人可以分享每种方法的优缺点?
Silverlight比WPF功能要弱得多,即使是版本4也是如此。
它可以在浏览器中或离线运行,并具有一些优点-但Silverlight相对于WPF的主要优势与部署相关。非常容易部署Silverlight应用程序-只需在服务器上的网页中引用XAP文件,就可以部署它(前提是您的用户已安装Silverlight)。WPF在部署方面需要更多的工作,因为它是一个完整的桌面应用程序。
话虽如此,WPF提供了更多的功能。它提供对完整的.NET框架的访问(而不是[逐渐增长的]子集)。
我的个人偏好是使用Silverlight-前提是应用程序不需要与旧软件进行交互,不需要访问系统资源或其他在Silverlight中不可用的内容。然而,如果您需要执行任何会占用系统资源的操作(例如:需要并行处理的大量计算、使用图形资源、复杂的3D工作等),那么WPF是最好的选择。
Silverlight是WPF的子集,用于Silverlight浏览器插件中。两者都不错,但您需要决定最终是使用基于Web还是Windows的应用程序。
出于安全原因(它用于浏览器),Silverlight并没有WPF的所有功能。不过,使用Silverlight,您可以访问所有其他基于Web的应用程序优势(单个升级位置等 - JavaScript、CSS和HTML)。