写点什么

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

  • 2007 年 12 月 12 日
  • 本文字数:1453 字

    阅读完需:约 5 分钟

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

2007 年 12 月 12 日 00:39513
用户头像

发布了 225 篇内容, 共 54.4 次阅读, 收获喜欢 42 次。

关注

评论

发布
暂无评论
发现更多内容

如何构建高效可信的持续交付能力,华为云有绝活!

华为云开发者联盟

软件 DevOps 持续交付 华为云

作业-week1

赝品

一张自查清单

熊斌

学习 个人总结 成长笔记 28天写作

产品经理训练营作业00

KingSwim

当前岗位的理想岗位模型

白生

Spring 源码学习 15:finishBeanFactoryInitialization(重点)

程序员小航

spring 源码

开发实战:Float如何保留2位小数

worry

Soul学习笔记---运行 soul-examples-http(二)

fightingting

Soul网关

Soul 学习笔记---soul 数据同步的浅显分析(四)

fightingting

Soul网关

如何恶意使用微信视频号 | 视频号 28 天 (12)

赵新龙

28天写作

智能手表

张老蔫

28天写作

云原生动态周报 | KubeEdge被评为2020十大边缘计算开源项目

华为云原生团队

云计算 云原生 边缘计算 华为云 边缘技术

《原神》运维自动化的探索与实践

OpsMind

运维 运维自动化

产品经理训练营-第一章作业

泡面加煎蛋

产品0期-第一周作业

曾烧麦

产品训练营

Soul 网关实践 04|dubbo 服务接入网关

哼干嘛

这样提问,大牛才会为你解答(提问的智慧)

yes

Java 程序经验小结:消除GC触及不到的过期对象引用

后台技术汇

28天写作

如何处理消息队列中的重复消息

废材姑娘

RocketMQ

深入剖析RSA密钥原理及实践

vivo互联网技术

算法 https 公钥加密 rsa

一字一句的让你彻底掌握JavaScript中的回调函数

华为云开发者联盟

JavaScript 大前端 同步 回调函数

场外OTC交易APP系统软件开发

系统开发

Java学习(一)

灵霄

java基础

项目管理系列(6)-能力成熟度

Ian哥

28天写作

一个button的成长过程

德育处主任

CSS html css3 html/css 28天写作

TcaplusDB 10周年 风雨兼程破浪行 自研存储见成长

TcaplusDB

nosql 腾讯 分布式 游戏 数据库集群

期货合约系统软件开发|期货合约APP开发

系统开发

AI无人机出手,让输电线路巡检更“聪明”!

华为云开发者联盟

华为云 modelarts 视觉处理

产品经理训练营-第一周作业

羽室

轻松几步教你将React Native 项目运行在Web端

华为云开发者联盟

html 大前端 Web API React Native

经验说丨华为云视频Cloud Native架构下实践

华为云开发者联盟

架构 微服务 华为云 CloudNative

Zoho用Google Gears为Ajax应用提供离线支持_Java_Moxie Zhang_InfoQ精选文章