讨论了那么多,究竟什么是Web App?

你是否知道什么是Web App?你知道Web App是怎样产生的吗?Web.AppStorm对Web App的定义看起来有点复杂。Web App中使用了各种不同的技术:Flash、 JavaScript、HTML5、PHP、 Java、Silverlight、Web服务以及具体的应用程序…Web App必须满足哪些条件?又有哪些条件并不是Web App所必须具备的?

我有时会看到一些评论指出某些Web App并非真正意义上的Web App,但事实上这些程序的确是Web App。因此,我想在此给出我们对“究竟什么是Web App”这一问题的看法。

我们对Web App 的简单定义

要给出完整的Web App的定义是一件很复杂的事情,因此我们在此只给出一个简单的定义:

Web Application是指通过使用Web和Web浏览器技术,跨越网络完成一个或多个任务的应用程序,通常需要使用Web浏览器。

具体分析

◆ 应用[软件]:“应用软件也就是通常所说的Application或是‘App’,它是用来帮助用户完成某个单独的或是一组相关的工作的计算机软件。”——Wikipedia给出的定义

◆ Web技术:Flash, Silverlight, JavaScript, HTML & CSS, Java,以及许多其他的编程语言和跨网络的电脑技术

◆ 网络:因特网或是内联网。可以参考维基百科的介绍

◆ 浏览器:Firefox,Chrome,Safari ,Opera, Internet Explorer以及许多其他的浏览器。可以参考维基百科的介绍

Chrome Web Store的困惑

随着Chrome Web Store(CWS)的推出,Web App将以一种更加有组织、更加正式的方式呈现在用户面前,但是到目前为止,人们对“Web App”还没有一个全面的认识,因此很容易将它与桌面应用程序混淆。

自从CWS推出以来,经常有人向我反映CWS上列出的某些应用程序实际上只是一些书签,并不是真正的应用程序,因为它们不使用Chrome运行。这些听起来多么可笑啊!

这些人所说的应用程序,和那些只能在Chrome上运行的应用程序一样,都是Web App!

这不过是一个Flash游戏

讨论了那么多,究竟什么是Web App?

很多人认为Flash 游戏并不是Web App,即使是CWS已经收录了的Flash游戏。

随着HTML5的发展和成熟,Flash已经出现了一点下降的势头,但是Flash仍然是Web中的核心技术之一,许多Web App都是基于Flash开发的。

Adobe AIR & 桌面程序

与Flash一样,很多人难以判断Adobe AIR究竟是Web App还是一个桌面应用程序。虽然AIR在电脑桌面上运行,但是通常它还是被当做Web App,因为它使用了Flash、HTML、JavaScript等等Web技术。

TweetDeck是一个非常流行的AIR程序,现在它也开发了一个支持Chrome的版本。

讨论了那么多,究竟什么是Web App?

 TweeDeck for Chrome

虽然TweetDeck的AIR版本是在桌面上而非通过浏览器运行的,但是它仍然被视为Web App。10 Kick Ass Adobe AIR Apps上有更多相关的例子。

Web服务 vs Web应用程序

撇开各种不同的Web技术不谈,弄清楚Web Apps定义最困难的是如何从各种纷繁复杂的Web App中提取出他们的共同特征。当用户登录一个网站(如Pixlr.com),大家很容易理解这是在访问一个Web App。但是对那些仅仅提供基础服务(如电话查询或是信息查询)的网站,区分用户是否在访问Web App就变得相当困难了。

其实这些服务大多都是Web App。我常常这样问自己“这个程序是否完成了某个任务?”。即便它只完成了某个非常小的任务,那么它也是一个Web App。Google的搜索引擎就是一个Web App,它本质上和电话查询服务没有什么区别。

这样说来,也并非所有的网站都是Web App。如果这个网站并没有执行任何任务,那么它就并不是Web App。

总结

通常人们将Web App和桌面应用程序混淆的主要原因是不熟悉它们之间的技术差异,尤其是在Web App越来越强大,甚至发展到桌面上了以后。虽然我并不奢望能够让所有人了解甚至是关心两者的区别,但是我还是希望这篇文章能够帮助到一部分人。

原文:What Is a Web App? Here’s Our Definition