为什么Web应用程序比本地应用程序更受欢迎?

时间:2008-11-14 18:57:04

标签: web-applications desktop-application

我问这个是因为在工作中我应该开发一个由两个人在内联网中使用的Web应用程序。这是一个应该在工作流程中保留一些状态的应用程序。所以我必须将数据保存在会话中并且必须关心并发性。开发一个普通的桌面应用程序要容易得多。但是客户对此很清楚(我希望规范中的所有内容都是如此清晰):他想要一个Web应用程序。

我知道很多人不想安装应用程序,但这里有两个用户,我可以在他们的计算机上安装它。

所以我想知道:为什么webapps如此受欢迎的原因是什么?这是炒作,两年后客户会要求更多桌面应用吗?或者是否有关于webapps的东西使它们特别性感/吸引人?

14 个答案:

答案 0 :(得分:8)

您的观点一般都是错误的:Web应用程序并不比本地应用程序更受欢迎。

您的具体案例中,客户可能希望利用这些内容:

  • 无缝升级
  • 来自任何计算机的可用性,无需您安装客户端软件
  • “没有崩溃”
  • 在您完成软件之前试用它的能力
  • 感知降低了成本。

如果你碰巧不同意他们的评价,你可以试着说服他们你的经验表明网络应用程序不适合这个。

或许您应该考虑探索基于延续的Web框架,例如Seaside。他们通过无国籍的互动使持久的状态变得更加直接。

答案 1 :(得分:7)

IMO的主要原因是

  1. 他们可以在任何连接互联网的计算机上工作,而不只是安装了软件的计算机。
  2. 当有更新时,您只需将其推送到服务器,并且每个人在下次登录时都会获得新版本。

答案 2 :(得分:4)

到目前为止,我见过的大多数帖子都试图证明网络应用是合理的,因为它们可以简化部署,消除“操作系统大战”,升级很容易等等。

然而,软件的全部意义在于使最终用户更具生产力。 Web应用程序的一大卖点是让软件专业人员的工作变得更容易一些。制作一个与桌面应用程序相比毫不逊色的富Web应用程序非常非常困难。通常,必须做出许多可用性妥协。

有时这些妥协是值得的,但主要目标应始终是为最终用户提供最佳体验。我见过很少的网络应用程序和桌面应用程序。

当然,您可以说“但是任何浏览器功能都是为用户提供服务”。也许吧,但如果有的话,我会选择一个难以部署但易于使用的应用程序而不是易于部署但不易于使用的应用程序。我必须定期与之互动。

我在线使用turbotax,因为它是一年一次的事情,即时更新功能很关键,但我不想从基于网络的应用程序运行Quicken。没有办法,没有办法。

答案 3 :(得分:1)

嗯,Web应用程序可以更容易维护。如果更新传统桌面客户端的数据结构,则需要确保客户端软件的版本正确。在Web应用程序中,这不是什么大问题。

此外,错别字/错误可以更容易修复 - 您只需更新一次并重新部署。一个传统的桌面应用程序必须自动更新自己或(如果你真的是一个sado-masochist)手动更新。

完成传统桌面客户端和网络应用程序后,我会选择网络应用程序。

然而,我很惊讶这么小的应用程序需要成为一个webapp。

答案 4 :(得分:1)

对我而言,支持Web应用程序优于桌面应用程序的首要原因是它们易于分发。我不必安装应用程序,担心由于某些基于客户端的问题(如个人防火墙)或与其他应用程序冲突等原因无法正常工作,等等。

另一个原因是我可以轻松推出应用程序的更新。

也许你的答案很简单,任何一个都可以。没有更多信息,我看不出有一个压倒性的原因,你的应用程序作为一个Web应用程序更好。但由于上述原因,网络应用程序非常吸引人。

答案 5 :(得分:1)

老实说,因为早在网络日之前,网络应用程序比基于COM的winforms应用程序有三个主要优势,这使它们在几乎所有情况下都更受欢迎。

 1.  They required no installation or deployment on client machines
 2.  They could not break other apps on the client machine. 
 3.  They could be made to function on just about any computer in the world that had a browser and could connect to the application's web server.

这些问题很重要,因为对于当时的winforms应用程序来说,它们是噩梦,尤其是第1点和第1点。 2.(“dll hell”) 当.Net发布时,前两点变得毫无意义...... .Net应用程序,点击一次部署,并且没有依赖于注册表键/ GUIDS的二进制resue和组件互操作性(实现二进制contracys的元数据存储在组件中)本身,而不是在机器注册表中),这些问题变得毫无意义 一般来说,现在更喜欢Web应用程序的唯一原因是#3,其中您的客户端包括nonWintel平台。

答案 6 :(得分:1)

无法回答Web应用程序是否比本地应用程序更受欢迎。当然,某些类型的应用程序更适合互联网。

已经提到Web应用程序具有以下优势:

  • 无需安装或实际设置
  • 可以更轻松地记录数据。如果使用Office应用程序,那么它会自动将我的工作保持在线以便在任何地方使用,理论上,如果您管理这样的程序,那么您可以访问其他人的文档。这对于一般的业务非常有用
  • 只要用户有一个可用的浏览器,它就可以正常工作。没有更多疯狂的错误或数据丢失,因为它都在互联网上!

如果这些优势适合您的应用选择,那就太棒了!为网络世界发展并获得优势。当您的应用程序不适合在线世界时,问题就出现了。尝试实现Spore的在线版本,看看你能走多远。

为简化起见,Web应用程序唯一比桌面应用程序更好的时候,所需的功能和业务要求表明在线使用比本地使用更好。我的朋友在O2电话商店工作,他们的新用户注册申请是在线申请。这样,所有数据都可以本地存储在商店中,并同时传输到主办公室,以确保电话被激活。这种应用程序适用于Web,因为它需要安装在数百个地方,而需要在本地和主要办公室记录数据

根据我自己的个人经验,现在没有理由使用在线申请。很少有人会对他们的桌面版同行有很大的好处,直到一个杀手级应用程序到来时,没有充分的理由可以改变。

答案 7 :(得分:1)

我不同意Rich的观点,根据我的经验,网页应用 更受欢迎,但这取决于您的受欢迎程度。

在这种情况下,我的意思是,如果我接受随机中小型软件公司的随机编程工作,我会期望他们正在为网络上的软件工作。当然,这条规则有很多例外,但十年大部分时间的总体趋势是网络发展。

其他许多回复都有充分理由支持网站开发:

  • 没有大惊小怪的安装/分发过程
  • 相对容易的跨平台支持

我认为巨大的,就像Rich所说的那样,“降低了成本。”与其他编程方法相比,Web开发的进入门槛非常低。您可以从HTML和CSS开始,转到JavaScript,毕业于PHP和Flash,然后称自己为Web开发人员。比较而言,像C ++和Java这样的环境有一个残酷的学习曲线。

根据我的经验,有商业头脑的人们如此热衷于“简单”的网络开发,他们常常忘记有其他选择。我曾经在一个最初要求网络项目的项目中,当开发团队表示根据需求开发桌面应用程序会更便宜时,项目经理感到很惊讶。非技术人员可能只是假设Web应用程序的成本较低,因为他们不了解差异。

答案 8 :(得分:0)

“我可以将它安装在它们的计算机上。”当你赢得彩票时,那么呢?现在谁将照顾那些精心制作的手工桌面,拥有独特软件的台式机?

网络应用程序的集中管理 - 即使是两个人 - 对组织来说具有巨大价值。

答案 9 :(得分:0)

其他一些原因:

  1. 因为精心设计的网络应用程序几乎可以在任何可以运行浏览器的计算机上运行。如果你运行网络应用程序,它可以有效地结束操作系统战争 - 苹果粉丝可以继续使用苹果,Msoft粉丝和Unix / Linux粉丝。
  2. 使用桌面应用程序,您必须选择平台/操作系统,或者使用一些承诺(哈!)多操作系统功能的工具(然后当桌面应用程序看起来不像什么时,处理来自各方的仇恨邮件他们中的任何一个都“习惯使用”。

    1. 如前所述,升级就像将代码重新发布到服务器一样简单。没有麻烦,没有大惊小怪。升级桌面应用程序可能是一场噩梦,特别是如果您使用新工具开发新版本,并且突然必须升级所有桌面上的所有“其他内容”(dll,二进制文件等)。在最糟糕的情况下,您的新版本可能甚至不能在较旧的操作系统上运行,因为二进制库随操作系统一起提供。现在你也在升级操作系统(以及硬件 - 呀!)。

    2. 对于大多数应用程序而言,Web界面非常完美,特别是如果您要创建标准的“读取,写入,报告 - 来自数据库”应用程序,Web界面非常不错。它在大多数浏览器上都相当不错(参见#1)。桌面应用程序在当前“花哨的UI趋势”中很容易迷失(请记住每个Windows应用程序必须有多个窗口)。你不必写的代码量可能非常多。

    3. CUSTOMER永远是对的。现在需要注意的是,作为设计师/开发人员,您需要尽可能多地进入客户的头脑,并确定他们为什么要求满足某些要求。确保ACTUAL问题首先得到解决,但如果是这样,那么请遵循客户的意愿。

    4. 干杯,

      -R

答案 10 :(得分:0)

基于Web的应用程序在应用程序用户中并不受欢迎。

但应用程序用户通常不会为自己的软件付费。

软件购买者不会根据技术优势做出决定。

答案 11 :(得分:0)

  • 自动备份数据/文件......希望如此。
  • 自动升级和安装

答案 12 :(得分:0)

首先,我认为网络/应用程序和客户端/服务器应用程序之间存在(小)区别。 webapp是一种客户端/服务器应用程序,其中服务器完全不受客户控制,客户端是浏览器。客户端/服务器应用程序是客户拥有并控制服务器和客户端的应用程序。您的案例听起来更像是客户端/服务器应用程序,而不是Web应用程序。

除了所有人提到的关于为什么Web应用程序更具吸引力的原因之外,不要忘记包含大多数提供免费版本的原因。不仅仅是一个有时间限制或残缺的版本,而是一个免费版本,您可以永久使用或直到它们停止使用(当然是为了交换某些东西,您的个人数据,对广告收入的关注等)。除了没有安装和没有升级优势之外,这是一个巨大的激励(因为大多数贪婪者无论如何都不会为应用付费)。

如果您需要保留数据的副本,并且您是硬核“创建者”而不仅仅是消费者,那么在我看来,与服务器同步的混合桌面应用程序是更好的解决方案。

答案 13 :(得分:0)

我认为部分原因与大多数网络应用提供的有限的人工互动选项有关(除非你看中)。

例如,我曾经在一家制造医疗保健软件的公司工作,我们有一段时间让用户理解右键单击和拖放。因此,对于程序中的每个操作,我们必须有一个右键单击菜单选项,工具栏中的图标和菜单选项,如File-> Options-> Export。

在网络应用中,似乎大部分时间,你有两个选项 - 链接或按钮(当然,我知道你可以做任何厚应用程序所做的一切,但我只是说大多数时候,你只会碰到按钮和链接。)

正因为如此,似乎很多用户在搞清楚网络应用时遇到的麻烦。他们只是寻找标有“保存”的按钮并单击它。因此,这些用户更喜欢网络应用,因为他们认为它们更易于使用。

而且,由于网络应用程序的性质也意味着很多时候你离开了一个页面上有任何类型的菜单(通常在顶部没有“文件,编辑,帮助”菜单)每一页都有较少的噪音让他们感到困惑。他们只看一个充满字段和下拉菜单的页面,并在底部看到两个标有“保存”或“取消”的小按钮。我很少看到一个限制在该级别的厚应用程序。