好的,我意识到人们不喜欢在他们的个人电脑上安装东西,如果他们不需要的话,这是网络应用程序相对于本地运行的“桌面”的主要优势。
但是对于安全性不是问题的企业内部应用程序,如果一个应用程序的用户群有 100% 的时间使用该应用程序,并将其专门用作他们的主要工具,那么桌面应用程序不是更好的选择吗?
我对 WPF Web 应用程序没有任何经验/了解不多,但我的印象是它本质上是一个在 Windows PC 上本地运行的应用程序。我更熟悉可能是较旧的技术 WinForms,特别是通过 ClickOnce 技术部署 WinForm 应用程序。
在我看来,Click-Once(可能是 WPF Web 应用程序)实际上已经解决了过去的 dll hell 部署问题,但在我看来,在内部使用 Web 应用程序的吸引力在于避免 dll hell 与本地安装相关。然而,解决了这个问题后,为什么公司仍然避免/害怕涉及本地安装的应用程序并如此迅速地被 Web 应用程序所吸引?
在我看来,桌面应用程序的优点是
1) COST - 桌面应用程序在概念上更简单,因为您拥有本地机器的全部资源并且您拥有状态。因此,为相同功能开发桌面应用程序的成本要低得多。看看所有复杂的客户端/服务器端 Ajax 奇特代码,在桌面应用程序中做一些微不足道的事情。我想象人们在争论这一点,但对我来说,这是显而易见的,而且无可争议。
2) 桌面应用程序通常更丰富。 Web 应用程序充其量是可比的,但代价是开发代码更复杂/更昂贵。 (对 1 的推论)
我可以列出更多,但这些应该足够了......
显然,桌面应用程序并不适合所有内部网站。但以此为例,告诉我您是否认为 Web 部署的桌面应用程序是更好的选择:
用户每天使用 8 小时/天的帮助台应用程序,并且是唯一在其 PC 上运行的应用程序。此外,应用程序很少打补丁。
我的感觉是,人们会墨守成规,一旦他们知道了一些东西(例如,网络应用程序),它就是解决所有问题的方法。你说什么?
编辑#1:Here's Click Once 桌面应用程序的示例(用于管理问题票证的 Rational Clearquest/Sharepoint/PVCS/Mercury 的集成前端),它利用客户端的计算机功能在本地存储信息并让用户对数据进行切片和切 block 以不同的方式每次都无需访问服务器,同时仍允许用户将实时数据链接到实时数据以更新单个记录。它有点像电子表格下载,如果用户想要执行更新,它会维护到服务器数据的链接。
当然你可以在网络上模仿这个功能,但我认为开发工作会更大,你不会得到这种类型的响应能力,这对于在应用程序中花费大量时间的用户来说很重要。
最佳答案
Web 应用程序流行的原因有很多:
关于web-applications - 为什么网络应用程序在企业内部应用程序中很流行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2098492/