Google弓lA.TGears,这是一个浏览器扩展,它带给开发人员前所未有的力量。Gears允许浏览器离线工作,可以让用户在浏览器中存储更多数据,并设计了一个工作池(Worker p001)用于处理长时间运行的任务。Gears已经停用,但是它的大多数功能经过修改后已移植到HTML 5中。
现代Web看起来像一个全方位的网站,包含各种内容,从维基百科那样依旧有效的旧式文档集合,茔UFacebook、YouTube和eBay这种提供与他人交互的网站,再到可以称为替代桌面应用程序的东西(例女llGmail和Google Docs)。许多以前独立的应用程序,例如邮件客户端,已经变成了Web体验中不可分割的一部分。在现代web中,应用程序和页面间的界线已经非常模糊,只在网站的用途上有所区别。
在浏览器中运行应用程序对于用户和开发人员都有很大的优势。对用户来说,使,用Web应用没有负担:用户可以试用应用程序,如果不喜欢就换个页面而不会在硬盘上留下任何东西。尝试新的应用也相当安全,因为它们运行在一个沙箱环境中。当开发人员更新代码时,新版本的应用程序会自动下载到浏览器。Web应用程序很少有版本号,至少已公开的应用程序是这样的。
对开发人员来说,在浏览器中运行应用程序优势更大。首先,对用户来说的优势对开发人员也是优势。其次,开发人员不需要写安装程序,而且新版本可以自动发送给用户,使得小量的更新切实可行。另外,还有其他好处。
Web是跨平台的,开发人员都希望开发的应用能运行在多个系统上,例如Windows XP、Windows Vista、Windows 7、Mac OS X、Linux、iPhone/iPad茅1]Android,这个愿景如果用传统的开发工具来实现将是一项非常艰巨的任务,但是用
web和一些具有前瞻性的技术来实现,就会变得十分简单。一个用标准类库(32lljQuery)建立的网络应用能运行在上述所有这些和其他几个平台的多数浏览器上。Sun公司一度希望Java applets将Web定义为一个平台,现在JavaScriptE,成为默认的Web平台。
你甚至可以在移动设备上运行Web应用,至少现在可以在智能手机上运行。你可以用一个包装(例女IlPhoneGap)来创建一个HTML 5应用,并把它打包,在App Store、AndroidMarket和其他网站上出售。你可以创建一个与web服务器大量交互或者完全独立的应用,两者皆可。
HTML 5之前的Web真正的不足之处在于,一个运行在计算机上的Web应用要占用上千兆字节内存和磁盘空间,运行起来像在老式v t320终端上一样慢。所有数据存储必须在服务器上完成,所有文件必须从服务器加载,每一个交互必须完成一次与服务器间的往返。这会使用户感觉较慢,特别是当用户距离服务器很远时。如果用户查看页面每次要耐心等待至少400ms,用户就会感觉应用程序运行很慢。从我在特拉维夫的办公室到加利福尼亚的一个服务器,ICMP ping的一次往返时间约为250ms。到服务器上的任何操作都将耗费额外的时间,使应用运行慢下来。当然,移动设备通信更慢。