Web应用程序优于桌面应用程序的优点

Dim*_* C. 77 web-applications

在我正在为之工作的公司中,似乎突然间我们所有的应用程序都需要移植到Web应用程序中.据我所知,唯一的原因是网络应用炒作最终污染了我们的一些决策者.

我是桌面应用程序的粉丝,因为它们更加用户友好.在我看来,它们响应更快,具有更好的用户界面,更具可定制性并且具有更好的键盘支持.我只是看不到自己使用的是Visual Studio或OpenOffice的Web版本.此外,我认为瘦客户端桌面应用程序比他们的网络应用程序对应物更容易实现.

也许我忽略了Web应用程序的一些特性,也许我对上面提到的缺点不正确.因此我的问题是:是否有人可以看到Web应用程序优于桌面应用程序的优势?

更新:到目前为止,有一些有趣的回应.但请注意,我不是在讨论瘦客户端应用程序之间的区别,而只是在开发webbrowser平台与桌面平台之间.

更新:通过"Web应用程序"我的意思是组合HTML/CSS/JavaScript,而不是像Silverlight这样的富Internet应用程序.这些与桌面应用程序非常相似,主要区别在于它们在沙箱中运行.

rah*_*hul 61

  1. Web应用程序避免了在每台客户端计算机中部署的负担.

  2. 不必在客户端计算机中强制执行版本检查.

  3. 更新更容易.

  4. 使错误修复更容易.

  5. 没有管理员权限检查.

  6. 可以从任何地方访问.

  7. 平台独立.

  8. 支持和维护更容易.

  9. 移动应用程序的适应性.

  • 平台独立,但有时依赖浏览器:) (62认同)
  • "可以从任何地方访问." - 假设你已连接到互联网...我认为这是网络应用程序的*巨大*缺点之一.对于桌面应用程序,一旦它们安装在您的计算机上,您就可以随时访问它们*您随身携带计算机.网络应用程序不是这样.我们还没有提到连接速度...... (19认同)
  • 至1:在互联网和安装人员方便时,这不是负担3:如果连接到互联网,桌面应用程序(检查,询问用户,安装)可以轻松解决问题.至4:取决于错误...如果你构建了一个高端的Web应用程序,支持桌面标准,如拖放和其他java脚本,修复可能真的很讨厌.到7:不!还有更多的平台依赖:"操作系统上的浏览器" (7认同)
  • @Canavar如果它的内部App到Web App那么你通常可以保证IT控制浏览器+版本.感谢JS库编写多个浏览器并不困难.如果你是一个足够好的网页设计师/开发人员,那么编写过去IE6以外的所有内容的CSS并不困难. (4认同)
  • “使错误修复更容易”:您是什么意思?我认为瘦客户机桌面应用程序可以同样容易地更新。 (2认同)
  • 要1:如果您在Web应用程序中使用javascript,那么您正在有效地将代码部署到客户端计算机.它对用户是透明的,但您仍在执行此操作.桌面部署技术开始接近这种无缝性水平. (2认同)

Mal*_*rap 53

桌面应用程序给一个不止网上应用提供卓越的用户体验.

当然每个选项都有其优点和缺点,但你也需要对它们进行评分.哪个更重要,用户体验或平台独立性?我们将用户体验评为许多内容.是的,我们正在做出牺牲,但那是生活的一部分.

说服你的上级的一种方法是向他们证明用户体验是桌面应用程序的未来前景,并试图说服他们制作Web应用程序之前创建桌面应用程序.

我们在我们公司和我们的客户都喜欢任何一天在网络应用程序上的桌面应用程序.他们非常愿意接受使用桌面应用程序带来的任何缺点.

我没有像其他人那样在我的答案中列出网络应用程序的优点.Web应用程序和桌面应用程序都有优缺点. 两个都做! 让您的客户选择.请回复统计数据.;-)

  • 我认为这是一个好主意,虽然不少公司会因为它耗费更多工时+1而对它不屑一顾 (7认同)
  • @Joeri这个答案的要点是两种技术都有自己的位置.Exchange电子邮件就是一个很好的例子 在工作中,我使用outlook和我使用OWA Web客户端的其他任何地方阅读我的交换邮件. (3认同)

Dav*_*row 24

我已经做了很多开发,编写了丰富的桌面应用程序和网站.

通常,为桌面应用程序编写代码更容易,有更多可用的控件,您可以更好地控制应用程序的工作方式.

编写Web应用程序确实需要您了解HTML,CSS和Javascript,以及浏览器的限制(或谈论IE时的错误).您必须担心状态并坚持它,并且您可用的机制是有限的.

话虽如此,随着时间的推移,我发现自己越来越喜欢编写Web应用程序.平台的局限性使您简化了事情,Web的无状态有助于管理一些复杂性.我的上一个网络项目上线,业务几乎不需要培训,因为非技术人员现在熟悉网页及其工作方式.只需要修复并立即投入使用它也很棒.如果您曾经使用升级桌面应用程序,您无疑会知道它有多复杂和痛苦.

最近,我们在混合策略(Webtop)上取得了一些成功,将主系统编写为网站,然后为需要更多功能的高级用户提供客户端应用程序.这可以托管一个浏览器控件(在windows中你可以轻松地嵌入IE,在OS X中你可以用safari做同样的事情),或者使用API​​.就像Twitter如何为您提供网络版本,但高级用户可以使用TweetDeck或其他任何东西.


tru*_*ppo 20

  • 所有用户始终使用最新版本
  • 没有盗版
  • 无论用户身在何处,都可以访问
  • 跨平台
  • 用户无需安装
  • 您可以轻松衡量用户正在做什么(有多少人正在使用功能XX等)
  • 如有必要,您可以在用户之间提供轻松协作,因为所有数据都是集中的

  • "用户总是使用最新版本":我们的桌面应用会自动更新. (15认同)
  • "跨平台":Java桌面应用程序也是跨平台的. (13认同)
  • "无盗版":只要服务器组件未分发,就可以自由复制瘦客户端桌面应用程序. (11认同)
  • "所有数据都是集中的":如果您选择编写瘦客户端桌面应用程序,您将获得相同的优势. (4认同)
  • @Dimitri,我从未说过桌面应用程序无法在我的列表中执行操作.但是在Web应用程序中,您可以免费获得它. (2认同)

Mar*_*ler 11

桌面应用程序上的Web应用程序专业版: -

  • 只需要更新程序的一个副本.
  • 99%的代码是独立于平台的.
  • 维护,支持和补丁更容易提供
  • 找到客户端计算机可能施加的限制的机会较少
  • 还有更多

桌面应用程序上的Web应用程序的Con: -

  • 如果网络连接中断,应用程序也是如此

  • 需要学习多种语言才能成功开发应用程序(服务器端脚本,SQL,XHTML/CSS等)

  • 对安全性的需求减少(用户在公司中受到信任,没有"外部威胁")
  • 需要专用的网络服务器机器

所有这些只是您在此对话中可以找到的众多专业人士和骗子中的一小部分


RBL*_*vin 7

Web和桌面平台都有其优点和缺点.可以为两者做出好的论据.混合应用程序(部分Web,部分桌面)在这方面也有优点/缺点.

应用程序开发应始终由需求驱动,而不是技术趋势或宗教优先级或比较广义的优点/缺点.

有没有尝试向美国或其他宽带接入不稳定或不存在的国家/地区的人们销售网络应用?:)移动访问怎么样?原生,基于网络还是混合?如果没有互联网连接,那么本地访问数据会怎么样?等等.

从应用程序要求开始,逐步回到技术.当您这样做时,您做出了正确的决定,最终得到了手头项目的最佳平台.

示例:请注意"桌面应用程序提供比Web应用程序更优越的用户体验".如果要求(A)要求从配备有Web浏览器和Internet访问的任何计算机随时/随时访问,并且(B)还要求类似桌面的性能(例如,不需要页面刷新的实时数据库数据),则( C)开发人员被引导考虑诸如AJAX,Flash,Silverlight,Java甚至是作为浏览器控件加载的本机客户端之类的技术.

我只是说,需求驱动,而不是技术驱动.


Ale*_*der 7

已经提到很多要点.但有一些我不能完全同意:

  • 部署Web应用程序很简单,但在Microsoft ClickOnce或Java Web Start时,部署桌面应用程序并不复杂.
  • 错误修复是一个Web应用程序并不是很容易(会话较少,在Web服务器进程下运行...).
  • 在执行安全关键操作或访问硬件时,Web应用程序始终存在一些限制.


dar*_*pet 5

取决于应用程序的类型.如果你有cms应用程序而不能用web替换(至少某些部分),因为应用程序需要使用本地资源,如打印机,条形码阅读器,财务打印机,显示器等.
因此,对于需要本地资源的此类应用程序,无法替换桌面.
对于cms应用程序,桌面应用程序也可以比Web快得多.

想象一个大型超市,很多客户都在等待支付订单并使用网络应用程序支付窗口.我还没见过这样的话.

但是也有像Oracle ADF这样的网络框架,它们比桌面设备更具影响力.使用ADF,您可以构建与桌面应用程序相同的Web应用程序,其方式与构建桌面应用程序的方式类似.但它是否昂贵,学习曲线很高,需要"好"的硬件.

但请记住,如果对于Web,您没有使用经过测试的组件,那么Java脚本对于关键任务应用程序来说并不是那么好,它很容易出错.