Silverlight,Wpf Web App(xbap)还是Click Once?优缺点
Silverlight,Wpf Web App(xbap)还是Click Once?优缺点
我们正在启动一个新项目,我正在尝试决定我们应该采用哪种类似Wpf的开发/部署策略。在我们的情况下,我们正在考虑一个非常复杂的业务应用程序,将由数百人(而不是数千人)使用,所以我倾向于选择一个一键部署的应用程序。我的老板喜欢使用Silverlight应用程序,因为这意味着更容易部署。那么我们应该选择哪种方式呢?
答案当然是“视情况而定”。
那么各种方法的利弊是什么呢?
让我来开始讨论一下(添加了一些来自artur carvalho的回答):
Silverlight
- 优点
跨浏览器
不需要完整的框架
对用户有更好的控制。如果用户登录,您不必担心激活密钥或类似的东西。
它适用于Windows和Mac。
您可以轻松更新所有用户的应用程序。
- 缺点
无法与客户端的文件系统等进行交互
与完整的Wpf相比功能较少(有没有好的文档记录差异的资源?)
单窗口
单版本
Wpf Web应用(xbap)
- 优点
完整的Wpf。
- 缺点
单浏览器
需要完整的框架
无法与客户端的文件系统等进行交互
单窗口
单版本
Wpf一键部署
- 优点
完整的Wpf
可以离线工作
多窗口
多个版本(缺点?)
更好地访问计算机的低级部分
维护期间无停机时间
- 缺点
单浏览器
需要完整的框架
安装稍微(?)困难一些。
如果这是一个公司内部应用程序,我会选择完整的WPF Click Once。这将为您提供一切。
完整的框架应该不是一个问题。它是一个一次性安装,在后台运行,所以这不是你的决定应该依赖的事情。缺点是它只能在Windows上运行,但如果你的公司只使用Windows,这应该不是一个问题。
然而,WPF应用程序可能需要大量资源,所以您需要知道所有客户机是否能够顺畅运行WPF应用程序。
如果这是一个互联网应用程序,请选择Silverlight:它可以在不同的操作系统下运行。
对于公司内部应用程序,我建议使用完整的WPF Click Once。这将为您提供所有功能,并且只需要在背景中进行一次安装。在这种情况下,Windows操作系统的限制不会成为问题。
然而,如果您的应用程序是一个面向公众的互联网应用程序,那么我建议选择Silverlight。它可以在不同的操作系统上运行,这样更多的用户将能够访问您的应用程序。
需要注意的是,WPF应用程序可能需要更多的资源来运行,因此您需要确保所有客户机都有足够的性能来顺畅运行WPF应用程序。
根据您的应用程序的性质和目标用户,您可以选择使用WPF Click Once或Silverlight来开发应用程序。
首先,我会评估一下是否可以使用Web客户端(最好是MVC+jQuery)来完成工作...
假设需要一个完整的客户端:
如果这是一个需要客户端的业务应用程序,我倾向于选择完整的框架和ClickOnce;在这里(部署方面),主要的区别是客户端必须安装框架-但是除此之外,ClickOnce部署非常轻松。实际上,构建ClickOnce清单要比Silverlight等更容易,因为IDE几乎会为您完成所有工作;您只需要将文件托管在某个地方(可以是Web URL,也可以是网络UNC)。
这样可以让您在客户端拥有更多的控制权(和更强大的功能),以及更多现有资源可供使用(例如,如果需要,可以在WPF界面上使用一些传统的Winform代码)。"需要完整的框架"也是最大的好处之一:"具有完整的框架"。
您还可以考虑一下3.5版本的“客户端配置文件”设置;不确定这在实际中有多普及...但是值得了解一下。
Silverlight、WPF Web App(XBAP)还是Click Once?优缺点
Silverlight优点:
1. 没有ViewState或“意外的垃圾”。
2. 服务器端和客户端更快。
3. 简化多个相关视图的模型。
4. 可单元测试。
5. 不受运行IIS 7的限制。
6. 客户端缓存。
Silverlight缺点:
1. 难以转换现有代码。
2. 不是最好的搜索引擎优化(SEO)。
3. 数据访问受限。
4. 安全性较低。
解决方法:
1. 将Silverlight代码转换为其他平台的代码。
2. 对Silverlight应用程序进行SEO优化。
3. 使用Web Services、WCF或ADO.NET Data Services进行数据访问。
4. 加强安全性,如加密和混淆代码。
文章如下:
Silverlight、WPF Web App(XBAP)还是Click Once?优缺点
PROs vs. ASP.NET Web Forms
1. 没有ViewState或“意外的垃圾”。
2. 服务器端和客户端更快。
3. 简化多个相关视图的模型。
4. 可单元测试。
5. 不受运行IIS 7的限制。
6. 客户端缓存。
CONs vs. ASP.NET Web Forms
1. 难以转换现有代码。
2. 不是最好的搜索引擎优化(SEO)。
3. 数据访问受限。
4. 安全性较低。
解决方法:
1. 将Silverlight代码转换为其他平台的代码。
2. 对Silverlight应用程序进行SEO优化,如描述元数据标签。
3. 使用Web Services、WCF或ADO.NET Data Services进行数据访问。
4. 加强安全性,如加密和混淆代码。
Silverlight是一个强大的平台,它为开发人员提供了许多优点。与ASP.NET Web Forms相比,Silverlight没有ViewState或“意外的垃圾”,这使得开发更加简洁和高效。此外,Silverlight在服务器端和客户端都更快,这归功于它的编译和执行能力。它还支持多个相关视图的简化模型,使开发人员能够更好地组织和管理代码。此外,Silverlight还具有单元测试框架,使开发人员能够更好地测试和调试应用程序。另外,Silverlight不受IIS 7的限制,可以在任何服务器上运行,这是它与ASP.NET MVC相比的一个优势。最后,Silverlight允许客户端缓存,这意味着应用程序可以更快地加载和执行,而不会过多地依赖服务器。
然而,与优点相对应的是一些缺点。首先,Silverlight与ASP.NET WebForms或MVC完全不同,因此将现有代码转换为Silverlight可能会非常困难。此外,Silverlight的搜索引擎优化(SEO)功能不如其他技术成熟,这使得在搜索引擎中排名较低。另外,Silverlight的数据访问受到限制,只能通过Web Services、WCF或ADO.NET Data Services进行访问,而不能直接访问数据库。最后,由于Silverlight运行在客户端,安全性较低,需要开发人员加强安全性措施,如加密和混淆代码,以保护应用程序的安全性。
针对这些问题,开发人员可以采取一些解决方法。首先,他们可以尝试将Silverlight代码转换为其他平台的代码,以便更好地适应现有的应用程序。其次,他们可以对Silverlight应用程序进行SEO优化,如合理利用描述元数据标签等。第三,开发人员可以使用Web Services、WCF或ADO.NET Data Services进行数据访问,以满足应用程序的需求。最后,开发人员还可以加强Silverlight应用程序的安全性,如加密和混淆代码,以保护应用程序的安全性。
Silverlight、WPF Web App(XBAP)和Click Once都有各自的优缺点。开发人员应根据实际需求和项目要求选择最合适的技术和平台来开发应用程序。