我们正在开始一个新项目,我正在尝试决定我们应该采用哪种Wpf-esque开发/部署策略.在我们的案例中,我们正在寻找一个非常复杂的商业应用程序,将被100多人(而不是1000人)使用,所以我倾向于点击一次应用程序.我的老板喜欢Silverlight应用程序的想法,因为这意味着更容易部署.那么我们应该跳哪个方向?
答案当然是"它取决于".那么每种方法的优缺点是什么?
我将开始滚球(编辑添加来自artur carvalho的一些答案):
Silverlight的
优点
跨浏览器
不需要完整的框架.
更好地控制用户.如果您的用户登录,您不必担心激活密钥或类似的东西.
它适用于Windows和Mac.
您可以轻松更新所有用户应用.
缺点
无法与客户端的文件系统进行交互等
与完整的Wpf相比具有更少的功能(任何人都有一个很好的资源,文件差异?)
单一窗口
单一版本
Wpf Web App(xbap)
优点
全Wpf.
缺点
单个浏览器
需要完整的框架
无法与客户端的文件系统进行交互等
单一窗口
单个版本
Wpf单击一次
优点
完整的Wpf
可以脱机工作
多个窗口
多个版本(con?)
更好地访问计算机的低级部件
没有停机维护
缺点
单个浏览器
需要完整的框架
稍微(?)更难安装.
首先,我会评估一个Web客户端(理想情况下是MVC + jQuery)是否无法完成这项工作......
假设有完整的客户端是有保证的:
如果它是一个需要客户的商业应用程序,我倾向于使用完整的框架和ClickOnce; 这里的主要区别(重新部署)是客户端必须安装框架 - 但是过去,ClickOnce部署非常简单.实际上,构建ClickOnce清单比Silverlight等更容易,因为IDE几乎可以为您完成所有这些操作; 你只需要在某处托管文件(可以是一个网址;可以是一个网络UNC).
这为您提供了更多的客户端控制(和功能),以及更广泛的现有资源(例如,如果需要,您可以在WPF表面上使用一些传统的winform代码)."需要完整框架"也是最大的好处之一:"有完整的框架".
您还应该考虑3.5"客户端配置文件"设置; 不确定这实际上是多么广泛......但值得了解.