web-applications - 为什么网络应用程序在企业内部应用程序中很流行?

标签 web-applications desktop-application

好的,我意识到人们不喜欢在他们的个人电脑上安装东西,如果他们不需要的话,这是网络应用程序相对于本地运行的“桌面”的主要优势。

但是对于安全性不是问题的企业内部应用程序,如果一个应用程序的用户群有 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 应用程序流行的原因有很多:

  • 它易于保护
  • 它创建了一个每个人都可以访问的标准引用点:
  • 不会锁定使用不同平台的人。
  • 人们更容易从网络外部访问(它将安全问题置于路由器/vpn 等)
  • 较少的技术支持(标准运行平台)
  • 更容易支持(如果它出现故障,那么您有一个关键的响应团队可以解决这个问题,而不是 1000 台随机停机的机器)
  • 数据存储中心点(更易于备份和访问)
  • 可以更好地扩展
  • 构建或重用企业框架比查找/创建分布式组件集以适应不断变化的环境(LDAP、不同的数据库、不同的备份、同步)更容易
  • 较少受到攻击者(蠕虫、修改客户端的人等)
  • 桌面客户端有时可能具有硬编码环境,或者需要某些工具集,这使新用户设置起来很痛苦
  • 处理服务器而不是处理 1000 多个客户端更便宜。您可以将系统设置为还原剂并进行快速故障保存。是的,服务器设备的成本更高,但从长远来看,维护成本更低。
  • 关于web-applications - 为什么网络应用程序在企业内部应用程序中很流行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2098492/

    相关文章:

    asp.net-mvc-2 - 在 IIS 7.5 上启用 html PUT 方法

    java - 关于 tomcat 服务 webapps 和 web-inf 的问题

    http - cookie 和桌面应用程序

    javascript - 从网页获取已安装的软件

    node.js - 以编程方式更改 Mac 上的桌面应用程序图标。 2019

    c++ - 桌面应用程序环回连接 - 可靠且安全?

    c# - .Net 中的 YouTube 和 OAuth 2.0

    从 Web 应用程序访问 Azure 管理 API

    javascript - 加载图像后移动应用程序 "unable to load previous operation due to low memory"?

    asp.net - Web应用程序结构和部署