网页由静态文本和图片组成的时代早就已经过去随着Web技术的成熟它已经开始向一个用户体验丰富交互性强的应用平台发展在这个演变过程中不同的技术之间将存在激烈的竞争来证明自己是最适合这个平台的技术不过根据目前情况来看未来一段时间内Web应用技术依然将是百花齐放而并非一枝独秀
Web应用之战的一个阵营是最初的网页描述技术HTML它也叫做超文本标记语言几年之后JavaScript编程语言的出现使其能力得到一定提高最近这个阵营又多了Ajax技术的支持
另一个阵营是Adobe的Flash技术最初它的用途是用来展示图形动画几年之后它已经成长为一个更加强大的编程平台最近它又多了一个竞争对手微软的Silverlight技术
随着互联网新兴公司和诸如谷歌之类的网络巨人争相把个人计算机软件转化为可以在互联网上提供的服务所有这些技术都在迅速的往前发展尽管在性能方面这些所谓的富互联网应用还无法和基于PC的应用相比并论但是它也具有自己的优点例如数据更容易共享无需安装即可使用还有可以从多个设备终端进行访问等
对于一般用户来说并不需要过多关注他们的在线应用之下究竟了使用哪一种技术但是如果你要开发公司的在线报表工具或者准备开发一个让网民使用的在线音乐工具你将不得不判断哪一种技术最适合你使用进而来招聘或培训哪一方面的程序员
多数人认为这场战争的胜者不会在短时间内见分晓Adobe公司的富互联网应用专家Kevin Hoyt表示在未来几年内你将看到多种技术共存的局面
图Kevin Hoyt
尽管如此计算机业的人们喜欢讨论竞争话题因为竞争让各家公司不会满足现状而不断创新但是如果某个技术最终胜出的话大多数工程师无需再为选择哪一种技术而苦恼这也是非常好的一件事情
HTML阵营
在这场战争中HTML阵营具有一个很大的特点那就是它在行业标准和信息展现方面具有深厚的根基不过这个特点可能是一柄双刃剑
业界标准可以吸引广泛的使用者但是它们通常实现起来非常缓慢尽管JavaScript和HTML已经标准化但是它们在不同的浏览器中实现方式有所不同甚至在同一浏览器不同版本中也不同这要求程序员在开发Web应用的时候必须考虑其应用是否适合所有浏览器的不同版本
但是现在和上世纪年代浏览器之争时有所不同现在的浏览器市场更加集中而不再呈现多样化各种浏览器开始不断向标准靠拢即将到来的微软IE 也将默认在兼容标准模式下发布
HTML阵营不可能被彻底打败这就是Zimbra工程主管Kevin Henrikson支持HTML阵营的原因之一提供在线email和其它应用服务的Zimbra是早期的Ajax技术使用者在年被互联网巨人雅虎所收购
Henrikson表示如果让我今天重新选择我依然会选择JavaScript和Ajax没有什么能动摇我们选择它的信心尽管现在Flash被认为具有相当强劲的增长势头但是我依然认为JavaScript的使用率将是Flash的倍
当然并非所有人都和Henrikson一样如此厚爱HTML阵营微软对此就有不同的看法它认为随着Web应用的用户体验开始更加丰富程序员最好远离HTML和JavaScript
微软富客户端平台产品经理Brad Becker负责帮助发展Silverlight技术他表示人们使用HTML完成了很多令人惊讶的任务不过它并不是专门为富互联网应用而设计还有Flash最初是被用来实现轻量级动画的这些技术都并非为富互联网应用而设计只是人们对它们进行了功能扩展来完成更多的事情
HTML阵营正在进行的改进
不过今天的HTML扩展功能在明天有可能会成为标准功能在未来的HTML中我们将看到一些巨大的改变
其中一个思路是让HTML实现更复杂的数据存储功能让Web应用程序可以更长时间保存数据或文档的本地副本这个想法已经有人提出但还没有完全被认可这种技术的一个非常重要的应用就是让人们可以离线使用自己的Web应用软件
其它比较大的HTML标准变化还包括增加画板(Canvas)波脑功能曾有人称其为脚本语言的新舞台Canvas让浏览器可以根据程序指令迅速创建特定的图像元素诸如图表等而不是从一个网站上下载预先设计好的图像Web Worker功能可以让浏览器无需影响浏览器界面在后台执行一些计算量大的任务而现有标准SVG如果被广泛采用的话可以实现某些Flash功能
另外还包括为HTML增加音频和视频标记它们可以让浏览器无需安装额外插件就能播放多媒体资源如果业界能够解决这个技术和该领域的知识产品难题的话它可能具有今天Flash和Silverlight技术的重大优势
来自Google的大力支持
Google或许是HTMLJavaScript和Ajax的最大支持者它的Gmail和Google地图网站让很多人重新认识了HTML阵营另外它还推出了包含在线文字处理电子表格和演示等功能的Google Docs
图Google Docs
但是微软的Becker表示一项技术不能仅仅因为Google用的好就说明它的强大虽然Google实现了很多伟大的应用但是有多少人能像Google一样使用它们呢?
Google正在为HTML阵营注入新的动力其中包括通过一个开源项目Gears来提高HTML技术的能力
Gears的旗舰功能是离线访问Web应用例如Google的Web文字处理器它还可以被用来提高社交网站MySpace的搜索速度以及加速WordPress的发帖过程从Gears的功能来看Google正在为将来而考虑其中包括为Web应用增加桌面提醒来使其交互性更强增加定位处理而让Web应用充分利用Web用户地理位置信息以及支持网络摄像机和麦克风功能
与Flash和Silverlight一样Gears必须被手动安装目前它还没有被广泛使用但是目前一些大的服务已经开始使用它这有可能推动人们去安装它进而推动网站站长们来支持它
Google的Gmail邮箱服务将有可能是引发人们使用Gears的服务之一Google负责产品管理的副总裁Sundar Pichai表示我们相信Gears将会在像Gmail之类的产品中得到广泛应用有迹象表明Gears增强版的Gmail不久将会面世
同时雅虎掌握了自己的名为BrowserPlus的浏览器扩展技术目前该技术还仅仅应用在一些雅虎的实验类应用中诸如用于上传图片到Flickr图像共享站点的Web工具中
图雅虎希望BrowserPlus软件可以Web应用桌面化
Henrickson对BrowserPlus非常感兴趣他表示Zimbra已经开始对其进行试验这项技术在Web应用和本地计算机之间架起了一座桥梁让程序员可以访问本地文件系统进行系统功能调用支持拖拽操作和访问网络摄像机
但是有一个令人痛苦的问题Gears和BrowserPlus真的和HTMLJavaScript属于同一个阵营吗?至少至今为止BrowserPlus还是一个商业技术而且Gears当然也并非一个标准技术而且和Flash或Silverlight插件一下Gears和BrowserPlus也必须被下载和安装
但是Google认为Gears是HTML的同盟军Gears工程师Aaron Boodman表示Gears是HTML阵营的先头部队尝试一些新的思想然后最终将其变为一个新的标准Pichai表示当新的HTML标准需要哪方面的功能时Google就首先在Gears中尝试去实现它
Flash和Silverlight阵营的强大
Flash和它的新对手Silverlight向用户提供了一些非常具有吸引力的优势功能例如支持音频和视频流播放功能这让它们成为某些Web应用的必选技术
举个例子来说在线图片编辑功能就充分显示了Flash技术的能力线上编辑工具Picnik就是使用了Flash技术Adobe公司也有一个类似的在线工具Photoshop Express尽管两者无法实现Photoshop CS的全部功能但是它们还是具有非常强大的编辑功能
Picnik的首席技术官Darrin Massena表示Picnik具有非常接近于桌面应用体验的功能在HTML标准Canvas或SVG实现以前Flash技术无疑是最合适的选择
他还表示即使上面说的这些新功能最终变为HTML标准还需要很长一段时间才能看到它们在浏览器中实现需要很长时间来测试其兼容性是否能够值得人们信赖它们
同时并不是只有HTML在不断完善Flash和Silverlight也在不断向前发展
Massena表示在Flash Player 中Adobe进行了大量的改进和创新一年半以前我们向Adobe提出了一些希望添加的功能在这个版本中我们看到他们对我们的要求做出了响应
Flash Player 目前处于第二个测试版本它的功能包括增加了三维图像特殊效果和更好的视频流硬件加速图像和文笔控制功能
至于Silverlight尽管它还有优秀到让Picnik考虑使用它的地步从版本到现在的Silverlight 测试版它的进步还是不小的Massena表示如果Silverlight能够保持这个速度发展它肯定在富互联网应用中占有一席之地如果它们能够首先实现D图像一定会有很多开发者选择使用它
微软宣传Silverlight的一个重点是它可以提高程序员的效率它基于在微软NET编程技术中使用的相同C#和语言因此对于很多微软的程序员来说已经掌握了很多相关技能而且可以使用微软优秀的编程工具
同样Flash也有强大的编程工具而且这个工具还可以与像Photoshop和Illustrator之类的工具配合使用这对于应用程序设计工作是非常有用的而且由于互联网用户可以迅速升级他们的Flash软件到最新版本它是一个更加稳定和可靠的编程平台
很明显没有哪一个技术能够垄断富互联网应用市场至少在近期是如此每一个阵营的拥护者也都认可它们的对手存在可取之处多种富互联网技术共存的格局将使它们尽自己最大的努力来进行技术创新
用Boodman的一句话来结束本文Web平台正在变得越来越强大我认为我们现在处于Web开发最活跃的一个时期