AJAX能够取代桌面应用程序吗?

ajax|程序

一、 引言

  在AJAX是否能够取代桌面应用程序的问题上,存在很多争论。如今,这两种阵营正在逐步形成。在本文中,我的看法是:AJAX不可能取代桌面应用程序;但是它将导致一种新型软件应用程序的出现。大多数AJAX程序应该会是生产工具、协作和商业应用程序。

许多桌面应用程序将不再会出现;当然,大多数应用程序也不可能很快就会离开强有力的和舒适的桌面环境。我想,软件发展的下一个阶段应该是,桌面应用不大可能全部消失;相比之下,而更有可能是适度的重新组合,其结果是各种应用程序分别在最适合它们的领域繁荣壮大。

  面向AJAX的web应用程序紧紧跟随在你的身边,就象所有的web应用软件一样。我们中的大多数至少有一位在世界其它地方的朋友并且经由电子邮件,如hotmail或yahoo电子邮件,帐户与之保持联系。事实上,这些基于浏览器的电子邮件接口大大帮助驱动了电子邮件为个人所采纳使用。如今,针对商业类型电子邮件使用的更传统型的html接口已经逐渐地不再具有实用价值。因某些原因,Outlook Web Access(OWA)(尽管它有一个伟大的AJAX接口)不再象以前那么流行,但是Gmail和Zimbra却正在异军突起,而且Zimbra力图全面取代Outlook和Exchange-全面地通过浏览器来实现UI表达。微软值得被赞扬的是,是Live.com的出现正在产生一种新型的AJAX化的电子邮件客户端-如果它的样子类似于OWA的话,它将比Hotmail更为易用和好用。如果你观察一下CRM世界,你就会注意到,似乎Web应用软件已经接管其主要功能。例如,Salesforce.com就是一个明显的例子,而MS CRM就是几年来通过一个Web浏览器表达实现的。

  二、 基于AJAX的Web应用程序会在哪些方面取代桌面程序?

  基于AJAX的Web应用程序是某些应用程序的合乎逻辑的自然选择-在这样的程序中,最新的和共享的信息至关重要,例如后勤、财务和CRM系统等方面的程序。常规的Excel工作簿,作为一种分布价格和顾客列表的方法,将会自然地走到历史的角落里。及时的商业数据是现代商业软件中的一个关键组成部分,而Web应用程序本来就是以数据为中心的。AJAX仅是把一个UI放到了应用程序之上,而这一点在用户等待鼠标点击之间的页面刷新时不会给他们带来过多的麻烦。

  许多应用程序依赖于Web服务和例如映射服务这样的迥异数据源来结合多重的庞大的数据源以保持相关连和有用性。另外,许多基于面向服务的架构(SOA)的企业系统成为具有分布性和可用性优点的AJAX应用软件的完美候选。通过浏览器发行的丰富的客户端将帮助降低单套软件的许可花费,例如在企业报告应用软件方面。最近一个大型SOA软件供应商的CTO问我,怎样在基于AJAX的UI客户端强制实现单套软件许可证协议。而这一问题的简短答案是,它不可能是与以前大部分客户端程序走相同的路子。这一事实将导致开发软件许可新途径的软件供应商更快地向AJAX迁移,但是不会减少消费者对于其喜爱的丰富的客户端软件的需要。

  显然,软件主要的好处主要还是看市场需求而定。很多软件,作为一种服务,应用程序服务供应商仍旧在应用之,因为该应用程序仍在通过Web和Web浏览器传送中。浪费时间去细究基于浏览器的应用软件的好处是愚蠢的;然而,特别要注意的是,AJAX使得基于浏览器的应用软件相当易于使用。这些可用性好处可以从在与更快的用户接口进行交互时节约大量时间这一角度加以衡量。Alexei White已经在他的《Measuring the Benefits of Ajax》一文中详细地探讨了这个问题。由于这些原因,AJAX在在线应用软件方面将是一个大的获胜者-这种场所下,用户总是在做大量的重复的任务-例如呼叫中心和金融机构。在你有大量的相同任务的场所,应用软件和信息工人往往能够熟练地使用AJAX Web应用软件。

  一直以来不断发展和变化的应用程序也会从中受益。用户迁移到新型应用软件将毫无副作用影响。另外,AJAX技术有助于提升已经基于HTML接口或有一个SOA架构的应用程序的质量。这对于一直在寻求提升可用性的开发团队将是极具吸引力的。

  另一个AJAX将会占上风的领域是在商业-这里用户分布在不同的地理区域并且支持多个Web浏览器并且其互联网连接是很昂贵的。

  三、 桌面程序会在什么地方继续保持霸主地位?

  特别值得开发者们注意的是,桌面应用在哪些方面不会被丰富的Web应用软件所取代,因为即使是最大的AJAX福音传道者也会告诉你,我们利用这种技术目前所仅能够达到的程度。让我们分析一下AJAX无法良好实现的几个方面:

  · 浏览器定制:添加按钮、工具栏、书签、图标;改变浏览器行为。

  · 本地文件存取:读写用户硬盘上的文件。

  · 声音播放:音乐和声音效果。

  · 丰富的图形:提供丰富的动态变化的图形。(随着SVG慢慢地引入到一些浏览器,这种应用正在逐渐发展中,但是它目前还不匹配桌面图形。)

  · 键盘快捷键:提供全范围的键盘快捷键从而避免与浏览器自己的键盘快捷键发生冲突。

  · 硬件存取:从如麦克风,webcams,和gamepads等进行输入设备;输出到设备象打印机和便携式小器具。

  · 扩大的通讯:从客户端机器到位置超出基本服务器以外位置的通讯,以及用除了普通的旧式HTTP协议以外的其它协议。

  · 操作系统交互:缓冲事件;改变配置;弹出警告;读取硬件信息。

  当然,AJAX还不支持视频或音频;因此,视频会议、VOIP和丰富的媒体应用软件还无法加入到其中。但是随着Flash加入到UI开发技术中,丰富的媒体将会被集成进一个AJAX接口。另外,在其它应用程序担心处理器及需要消耗大量内存的程序中,AJAX技术还不适合。我们还会看到,象视频编辑、相片操作和视频游戏等一类应用程序相当恰当地出现在Web浏览器上还需要一段时间。目前,我还从未看到有人在玩一种通过JavaScript技术实现的Quake风格的第一人称射击游戏。其实,其意义也并不大。

  四、 桌面软件会在什么方面利用web技术的优点?

  桌面应用世界将极大地受益(并且已经受益)于Web服务和SOA的使用,并且我们将继续看到这两个世界的更多的集成。如今,我们已经看到桌面应用软件在使用着互联网所提供的丰富的内容,例如iTunes和与基于AJAX的服务在线集成的桌面应用软件,如Live.com和MS Office。
在为新型应用软件(基于Web的)渗透和接纳率方面,AJAX广受欢迎。从未有其它技术具有如此小的阻碍-所有你需要的就是一个浏览器和一个互联网连接。而且,既然新型软件能够那么快地接纳这一技术,那么,许多AJAX应用程序将会比客户端应用软件能更快速地体验网络效果的优点。

  五、 AJAX会在哪些方面创造新的服务机会?

  让我们先分析一下Google地图-没有用户能够在他们的本地桌面上拥有所有的地图、图象和生意/地址目录数据。进一步推进这一概念的mashups是一个网站或web应用程序,它无缝地把来自于多个数据源的内容整合进一种完整的体验中。如果当用户想结合不同数据集时必须安装一个插件或某种程序的话,这种程序不会工作。即使一客户端应用程序拥有这些数据,它们也无法让其与以Web为中心的应用程序一样容易地保持最新。

  协作将被加入到应用程序中,这在以前是从未有过的。象Writely这样的系统,一旦被纳入到实践中,将改变我们看待办公室类型应用程序的方式。从一开始,所有的应用程序都有一个共同的浏览器平台,并且使用共同的语言(XML,HTML,等等)。这意味着,随着这些小应用程序的不断发展,集成它们也会越来越容易。当前MS Office能够与其自身良好集成并且如果你使用SharePoint的话,它对于协同工作相当不错。然而这要依赖于在每个客户端安装巨大量的软件和启动精深的服务器基础结构。但是web应用软件应该改进这种体验并且AJAX将使得这些Web应用软件具有极大的可用性。

  借助于web上强有力的数据服务,再结合丰富的AJAX UI的力量,实时协作应用程序将永远改变。

  六、 结论

  软件的未来会是什么样子呢?我想,这在我们这一代正发生着巨大变化。由于AJAX增强的可用性,我们将毫无疑问地看到出现大量的新型的基于Web的应用程序。并且,因为随着开发者社区继续协同工作,我们一定会在今天AJAX所依赖的技术方面作出许多重大改进。如今,我们只是刚刚看到了冰山一角罢了。然而,我想桌面应用程序的力量将继续统治着某些应用程序领域并且实际上可能从不会消失。

时间: 2024-10-31 10:03:09

AJAX能够取代桌面应用程序吗?的相关文章

AJAX是否能够取代桌面应用程序

ajax|程序 一. 引言 在AJAX是否能够取代桌面应用程序的问题上,存在很多争论.如今,这两种阵营正在逐步形成.在本文中,我的看法是:AJAX不可能取代桌面应用程序:但是它将导致一种新型软件应用程序的出现. 大多数AJAX程序应该会是生产工具.协作和商业应用程序.许多桌面应用程序将不再会出现:当然,大多数应用程序也不可能很快就会离开强有力的和舒适的桌面环境.我想,软件发展的下一个阶段应该是,桌面应用不大可能全部消失:相比之下,而更有可能是适度的重新组合,其结果是各种应用程序分别在最适合它们的

AJAX会取代桌面系统吗?(译文

ajax 关于是否AJAX会取代桌面应用的讨论渐渐热烈起来,针锋相对的两大阵营也开始形成.开门见山,在这篇文章里要展现的我的信念和论点是:AJAX不大可能会取代桌面应用,但是它会催生一个新型的软件应用模式:这种新型的软件应用模式极有可能是开发工具.协作工具和商业应用.一些应用可能根本不会在桌面系统上看到--虽然很多的应用不大可能很快就退出历史的舞台.它们需要随时满足桌面系统的要求.我认为软件的下一场革命不会像出埃及记那样的完全抛弃桌面,而是一场中等的各种模式的重新定位和组合,通过适应外界的意图来

使用jQuery,第1部分:将桌面应用程序引入浏览器

本文配套源码 简介 jQuery逐渐从其他JavaScript库选择中脱颖而出,并且成为Web开发人员的最佳选择.它迅速成为希望简化客户端开发和快速高效地创建富Internet应用程序(RIA)的程序员的首选.随着RIA的广泛使用,将越来越多地使用JavaScript库协助开发.RIA被定义(松散地)为通过浏览器运行的应用程序,这种浏览器结合使用 CSS/JavaScript/Ajax创建类似桌面应用程序的外观.Firefox.Internet Explorer和Safari最新发行版中新增的特

使用jQuery的将桌面应用程序引入浏览器_jquery

随着 RIA 的广泛使用,将越来越多地使用 JavaScript 库协助开发.RIA 被定义(松散地)为通过浏览器运行的应用程序,这种浏览器结合使用 CSS/JavaScript/Ajax 创建类似桌面应用程序的外观.Firefox.Internet Explorer 和 Safari 最新发行版中新增的特性,以及 Google 新 Chrome 浏览器最近的版本,都专注于加快每个浏览器的内部 JavaScript 引擎的速度,其惟一目的是更加适应浏览器制造商为未来设计的 RIA.这些公司认为未

盖茨:云计算将不会取代桌面计算将并存

本文讲的是盖茨:云计算将不会取代桌面计算将并存,[IT168 资讯]我总是被问到类似的问题:"计算究竟会如何进行呢?是在你身边还是通过远程的方式?"带宽越大,等待时间就越短,你也就能够更多的将计算机的任务剥离出去.在因特网没有出现之前,所有的事情都要由本地设备来处理,文件也只能被存储在本地计算机上. 而现在你可以只在计算机上存储却可以通过远程的方式来进行一些应用.但是大部分的逻辑运算仍然是在本地设备上运行的.但是本地计算也有他的好处,即使不在线,你仍然可以进行一些处理和运用,而且不必为

用AJAX开发智能Web应用程序之基础篇

一. 什么是AJAX? 这个名字代表了异步javascript+XMLHTTPRequest,并且意味着你可以在基于浏览器的javascript和服务器之间建立套接字通讯.其实AJAX并不是一种新技术,而是已经成功地用于现代浏览器中的若干成功技术的可能性组合.所有的AJAX应用程序实现了一种"丰富的"UI--这是通过javascript操作HTML文档对象模型并且经由XMLHttpRequest实现的精确定位的数据检索来实现的.典型的示例AJAX应用程序是Google Labs(htt

使用jQuery,第3部分:用jQuery和Ajax构建富Internet应用程序

本文配套源码 简介 最近这几个月以来,JQuery 受欢迎的指数迅速攀升,现已成为 Web 开发人员首选的 JavaScript 库.与此同时,人们对富 Internet 应用程序(Rich Internet Application,RIA)的应用和需求也在迅速增长,并期待用基于浏览器的应用程序代替桌面应用程序.无论是电子表格,还是薪水册和电子邮件应用程序,现在都在浏览器中再现了类似于桌面的体验.随着这些应用程序数量的增多和功能的日益复杂,JavaScript 库将会变得越来越重要,因为它是构建

使用Dojo及Node-webkit创建基于JavaScript本地桌面应用程序

作为一名 Web 前端工程师,我们的工作在大多数情况下,就是与各种浏览器打交道,开发以页面为主的 Web 应用程序.为此,非常的熟悉 HTML.CSS.JavaScript 以及各类主流的 JavaScript 工具库,比如 Dojo.jQuery.YUI 等.但是,浏览器的安全沙盒把我们限制在了一个小小的圈子里,我们不能用 JavaScript 访问操作系统的本地文件系统,不能发起一个 Socket 请求, 不能获取 CPU 和内存的使用情况, 也不能访问关系型数据库或者 NoSQL 数据库.

保护您用Ajax创建的Web应用程序

所有应用程序,包括这些使用 Ajax 技术构建的应用程序,很容易被用来危害网站和驱动网站的数据库.在本文中, 您将了解一些 Ajax 技术易受到的威胁以及如何预防它们. Ajax 在 Web 开发领域日益兴盛,受众多http://www.aliyun.com/zixun/aggregation/7155.html">开发人员热捧,这是因为它: 能够创建数据驱动网站所依赖的健壮 Web 应用程序 意味着提高网站速度和可用性 然而,这项被许多 Web 开发人员用来基于 Web 的应用程序模仿传