为什么Web应用程序普遍适用于内部企业应用程序?

Cha*_*adD 28 desktop-application web-applications

好吧,我意识到人们不喜欢在他们的PC上安装东西,如果他们不需要,这是网络应用程序优于本地运行的"桌面"的主要优势.

但对于安全性不成问题的企业内部应用程序,如果一个应用程序使其用户群100%的时间都拥有该应用程序,并将其专门用作主要工具,那么桌面应用程序不是更好的选择吗?

我对WPF Web应用程序没有任何经验/了解,但我的印象是它本质上是一个在Windows PC上本地运行的应用程序.我更熟悉可能是旧技术的WinForms,特别是通过ClickOnce技术部署WinForm应用程序.

在我看来,Click-Once(并且可能是WPF Web应用程序)实际上解决了过去的dll地狱部署问题,但在我看来,内部使用Web应用程序的吸引力是避免dll地狱与本地安装相关联.然而,随着这个问题的解决,为什么公司仍然避免/担心涉及本地安装的应用程序并且如此迅速地吸引到网络应用程序?

在我看来,桌面应用程序的优势是

1)COST - 桌面应用程序在概念上更简单,因为您拥有本地计算机的全部资源并且您拥有状态.因此,桌面应用程序可以更便宜地开发相同的功能.只需看看所有复杂的客户端/服务器端的Ajax花式代码,就可以在桌面应用程序中执行一些微不足道的操作.我认为人们对这一点提出质疑,但对我而言,这显然是无可争议的.

2)桌面应用程序通常更丰富.Web应用程序最好具有可比性,代价是开发代码更复杂/更昂贵.(1的证据)

我可以列出更多,但这些应该足够......

显然,桌面应用程序并不适合所有内部网站.但以此为例,告诉我您是否认为Web部署的桌面应用程序是更好的选择:

帮助台应用程序每天由用户每天使用8小时,是唯一在其PC上运行的应用程序.此外,申请很少修补.

我的感觉是人们陷入困境,一旦他们知道某些事情(例如,网络应用程序),它就是一切的解决方案.你说什么?

编辑#1:是一个Click Once桌面应用程序(Rational Clearquest/Sharepoint/PVCS/Mercury用于管理问题故障单的集成前端)的示例,它利用客户端的计算机功能在本地存储信息并让用户以不同方式对数据进行切片和切块,每次都不会点击服务器,同时仍允许用户将实时链接到实时数据以更新单个记录.它有点像电子表格下载,如果用户想要执行更新,它会维护到服务器数据的链接.

当然你可以在网上模仿这个功能,但我认为开发工作会更大,你不会得到这种类型的响应,这对于在应用程序上花费大量时间的用户来说很重要.

mon*_*ksy 21

Web应用程序很普遍,原因有很多:

  1. 它易于安全
  2. 它创建了一个每个人都可以访问的标准参考点:
  3. 不会锁定使用不同平台的人.
  4. 人们更容易从网络外部访问(它将安全问题放到路由器/ VPN等)
  5. 较少的技术支持(标准运行平台)
  6. 更容易支持(如果它下降,那么你有一个可以修复它的关键响应团队,而不是1000个随机下降的机器)
  7. 数据存储的中心点(更易于备份和访问)
  8. 可以更好地扩展
  9. 更容易构建或重用企业框架,而不是查找/创建分布式组件集以适应不断变化的环境(LDAP,不同的dbs,不同的备份,同步)
  10. 受攻击者较少(蠕虫,修改客户等的人)
  11. 桌面客户端有时可能具有硬编码环境,或者需要某些工具集,这些工具集会使新用户难以设置
  12. 处理服务器而不是1000多个客户端的成本更低.您可以将系统设置为还原剂并具有快速故障.是的,服务器设备的成本更高,但从长远来看,维护成本更低.


Pas*_*ent 16

为什么Web应用程序普遍适用于内部企业应用程序?

主要是因为Web应用程序的集中部署模型解决了旧胖客户端应用程序(机器规格,可用库,驱动程序等)的部署噩梦.我见过公司,当他们完成部署时,安装的最后一台机器已经比第一台机器提前两个版本.通过客户端上的浏览器(即跨平台执行环境)和集中部署,您只需消除这些问题.欢迎来到瘦客户端时代.

现在,我不相信桌面应用程序通常更便宜(我不知道开发是否更便宜,但我确定维护,支持,......不是).

但我同意桌面应用程序通常更丰富.无论人们会说什么,这在AJAX问世之前都没有争议,这仍然适用于浏览器不合适的某些特定领域,无论是否有AJAX(要求交易者使用浏览器,你会看到).有些人不需要页面流程范例,有些人确实需要高级小部件(例如,具有高级过滤,分组,Excel等基本公式等功能的网格组件),或低延迟,或实时等等.富互联网应用程序 - 或RIA - 并非真正适用,因此不是正确的选择工具!

我同意Java WebStart或Microsoft ClickOnce等技术可以解决旧的部署问题并允许开发所谓的富桌面应用程序 - 或RDA - (客户端上的丰富桌面UI,服务器上的业务,它们之间的标准协议和集中部署,所以仍然是瘦客户端)这似乎是一个很好的妥协(更好的用户体验,但没有头痛).

那么为什么人们会系统地省略RDA选项呢?好吧,我相信:

  1. 我们(IT专业人员)教过人们如何创建互联网应用程序,以便他们(重新)做到这一点.
  2. 它已经足够复杂,可以解释互联网,瘦客户端,AJAX,RIA等,而且在RDA上没有太多的传播福音.所以大多数人只是不知道RDA是什么.
  3. 我们(IT专业人士)经常说些什么和相反的事情:不要使用胖客户端,它很糟糕,使用瘦客户端,它规则,不使用javascript,它很糟糕(前AJAX时代),使用javascript,它规则(后AJAX时代),不要使用瘦客户端(!),它很糟糕,使用丰富的桌面应用程序,它规则等等.即使这里存在逻辑,这也使得一些概念(如RDA)难以在最后出售给非技术人员.
  4. 即使事情发生了变化,人们也不会忘记那些容易(胖客户)的不良经历.
  5. 人们实际上并不需要RDA让我们说95%的情况.
  6. RDA开发人员比RDA开发人员多.

所以这是我们(我们,IT专业人员)的错误:)

  • 该死的好反应!我认为你所说的比其他一些反应要好得多,这也是有效的一点.我的经验是,当开发Web应用程序时,它们几乎总是笨拙并且需要更多的时间遍历屏幕,一次一个,以执行与良好的rick桌面应用程序相同的功能.如果您在我的帮助台示例中花费了大量时间在应用程序中,您将需要一个应用程序,让您快速有效地完成工作.想象一下,如果Vis Studio是一个Web应用程序,如果它是一个好的,那么努力就是写它... (3认同)

egr*_*nin 11

我同意,Web应用程序是不是更快发展-除非你有一个以上的操作系统来支持,或数据库连接,它适用于基本上我所做的一切.

  1. 20%的用户没有运行Windows.
  2. 100%的用户希望在家中使用内部网应用.
  3. 100%的用户希望查看他们的个人数据,无论他们从哪里连接.
  4. 没有人喜欢被告知"请等我们升级到3.0.1版"

文档创建程序(包括图形程序)显然更适合桌面,尽管您会想到Google Docs.您不希望远程运行声音或视频编辑器.但是,工作越不个人化 - 协作越多(企业) - webapps就越有意义.


Gab*_*ams 6

  • 更快的开发时间
  • 易于部署(您可能会部署几次)
  • 某些企业IT组不允许用户安装应用程序

****编辑****

  • 更容易保证应用程序到数据库的网络性能
  • 数据库更安全
  • 更容易解释如何启动应用程序
  • 无需存储或安装额外的库(通常)
  • 易于维护(由开发人员和IT人员)

  • 开发Web应用程序并不快.我希望人们说他们并不慢 - 而且这个我并不是最不喜欢的 - 但是对于这两种方法的专家而言,他们肯定地发展并不是很快. (8认同)
  • 回复:"@Steven:它有无价值的价值".当然,如果您是Amazon.com,则无法跟踪服务器上的状态.但如果客户能为您做到这一点,您将拥有各种优势. (3认同)
  • @Velika - 我认为敏捷开发的Web应用程序可以比传统构建的应用程序更快,更准确地开发.我没有任何指标来支持它,这只是我的经验. (3认同)