Zoho用Google Gears为Ajax应用提供离线支持

Zoho是一家在线办公及生产力软件公司,他们最近给基于AJAX的RIA旗舰产品Zoho Writer加上了离线能力。InfoQ采访了Zoho的Raju Vegesna,以了解增加离线功能的动机,技术平台的选择理由,得到的经验,以及未来无论在线还是离线的Zoho产品线。

Raju认为,对Zoho来说,向离线发展的原因很简单:

我们估计有一成的在线用户希望在离线的时候也能继续工作。我们希望支持这一成Web用户。

接着,Raju介绍了对Zoho Writer进行离线扩展的一些背景信息:

在决定将Zoho Writer向离线发展之后,我们仔细研究了可行的技术选择和平台,包括Adobe AIR、Microsoft Silverlight,甚至包括还没发布的Firefox 3,它也带有离线能力。不过,作为基于AJAX的RIA Web应用提供商,我们认为一个真正的Web应用应该从本质上就支持HTML、CSS这些Web标准。我们当初选择JavaScript的最大原因就是它是天生属于Web的——我的意思是JavaScript的核心对象模型就是HTML/CSS文档对象模型。Flash虽然有优势,但它是属于浏览器之外的一个空间。从这个意义上说,Flash和客户端的Java没有太大不同。实际上,可以说要是客户端Java做对了,就是Flash这个样子。而且开源库对我们来说很重要。JavaScript库的深度和多样性也越来越好。

因此我们决定开发自己的一套东西,利用像SQLLite这样的技术。刚好这个时候Google Gears发布了。它是开源的,而且也是基于JavaScript的。我们也特别喜欢它的BSD许可。于是我们想与其开发新的一套东西,不如就用Google Gears,同时也可以给它做贡献。Google Gears就这样成了我们的离线平台,我们对这个决定很满意。

 

认识到RIA技术正在打破Web应用在线/离线的屏障,InfoQ向Vegesna询问什么是增加离线支持的最佳途径:

阶段性的、增量的方式对我们的成功很关键。我们没有一下就跳到离线。在第一阶段,当离线的时候Zoho Writer就变成只读的。然后我们进行第二阶段,允许编辑离线文档,也就是我们最近发布的。Zoho产品是基于服务器的Web应用。很多功能都依靠服务器端的处理。为了不走上歪路,小心地设计,逐步增加离线特性是很重要的。我们不会用别的方式来做。

Zoho也是SaaS的一员,除了Zoho Writer这样的终端产品,它也是通过Zoho APIs提供了应用开发平台。对于向离线发展会给使用Zoho APIs开发应用程序带来什么影响,Vegesna回答说:

目前,离线特性在API中是屏蔽掉的。也就是说所有第三方应用都只是在线的。即便在Zoho Writer中,也有一些特性是不能离线使用的,比如导出成PDF文件。作为一个Web应用,我们很重视用户体验。我们不希望为了让所有特性都能离线使用,而把产品搞得太复杂。

谈到将来:

我们会一直用Google Gears。我们有两个主要的产品类别,一个是以文件为中心的应用,另一个是以数据库为中心的应用。当完成Zoho Writer之后,我们的下一步是给这一类的其他产品也增加离线扩展。以数据库为中心的产品,比如CRM产品,也会经历同样的过程。

最后,Vegesna谈了对他们的服务端环境的看法:

在服务端我们都是用开源软件。我们用MySQL管理数据。服务端处理程序都是用Java编写的。应用服务器是Apache Tomcat的一个高度定制过的版本。我们在大约400台服务器上自己运营我们的应用程序,它们是64位的Linux。

Zoho,作为一家办公和生产力系列工具的提供商,他们将用户体验和平台开发都向前推进了一步。InfoQ将会继续关注他们的平台的新发展。

查看英文原文: Zoho Leverages Google Gears to Provide Offline Support for Ajax Applications

你可能感兴趣的:(Zoho用Google Gears为Ajax应用提供离线支持)