Thursday, May 31, 2007

Google Gears,带动离线Web应用的齿轮

  今天,Google向开发者社区公布了用于支持离线Web应用的Google Gears开源项目,并在其Google Reader产品中首先尝试应用了此技术。

  记得几个月前我曾在“Offline支持——Web的下一个热点!”一文中分析过离线Web应用的来龙去脉,以及一些尚不清晰的发展方向,譬如离线业务逻辑、数据同步、安全机制等。有兴趣的朋友也不妨一看啦,欢迎评论和交流。

  从初步的体验和探究来看,正像Google Gears的开发工程师Aaron Boodman和Erik Arvidsson在Gears API Blog上的写的那样,目前的Gears提供的还只是用以支持离线Web应用的最小基本功能集。还有更多的离线Web应用问题和解决方案需要得到广大社区和业界厂商们的支持合作和共同努力,以完成一个能够满足人们需求的基于开放平台标准的解决方案。

  对于Google Gears的推出,让我们来看看其他离线Web解决方案提供商是如何反应的:
  • Adobe的Mike Chambers在其Blog上表示,Apollo的下一个beta版本在离线数据存储方面的选择将会与Gears一样,即包含轻量级的开源SQLite数据库引擎,并且将考虑提供与Gears兼容的API以保证浏览器和桌面离线Web应用的API实现一致性。

  • Dojo离线工具包的开发者Brad Neuberg在Ajaxian对其的访问中表示,他已经将Dojo的离线应用框架进行了移植,开始使用Gears作为Dojo离线框架的基础平台,从而与Google在离线Web应用这方面开展进一步的合作。
  相信用不了多久,我们就能看到开放社区合作的进一步成果了,特别是在离线业务逻辑、数据同步、安全机制等方面。虽然目前的似乎还只是一个本地cache机制,但Gears的长远发展还是很令人看好的,有望真正称为带动离线Web应用的“齿轮”!

  最后,让我也来贴一张Gears的高层架构图吧,顺便推荐一下来自朋友jeremy的“Google gears 與 flex/apollo 的簡單比較”一文,其中有些关于架构的分析和引申出来的想法还是蛮值得一看的。

by William Cui 崔伟毅

Labels: ,

Wednesday, March 14, 2007

Offline支持——Web的下一个热点!

  回顾近十年的Web技术和应用,和历史上其他很多事物一样,多是有一些有趣的潜在发展规律的,值得整理如下:
  • 随着上世纪末Web浏览器(以Netscape Navigator和Microsoft IE的浏览器大战为代表)的普及,基于B/S架构的Web应用开始流行起来,对传统的基于C/S架构的胖客户端应用带来了冲击。由于起初的一系列Web标准(HTML, CSS, JavaScript等)只是为瘦客户端所设计的,为了满足不断增长的Web应用需求,各大浏览器阵营陆陆续续增加了富有自己特色的扩展实现(诸如DHTML, XHR, IE扩展, css-ie, css-mozilla等),于是整个Web实现越来越混乱,一直到某天人们终于开始意识到Web标准的重要性了才开始重新走上正轨。

  • 进入本世纪后,以Google提供的为代表的一些基于Ajax的“新”应用开始重新引起了大家的关注。Ajax是一个典型的新瓶装旧酒的例子,一堆过时技术绝处逢生诞生了一个新的Web应用时代。正当传统的基于HTML渲染的Web表现层应用占据绝大部分江山的时候,另一个原来由Web动画发家的基于Flash渲染的应用来势凶猛,凭借其超强的用户体验和“无处不在”的Flash播放器,正以迅雷不及掩耳之势(Macromedia对Flash普及功不可没,而当时的Microsoft还在睡觉呢,对Flash的未来错误估计了)越来越受到了最广大人民群众的欢迎。自从Flash的接力棒从Macromedia手中传递到新的Adobe公司后,以Flex, Apollo为代表的新应用这股热浪有愈演愈烈之势。

  • 大约在两三年前,可能由于在Web运作理念和表现层体验等方面的创新数量不断膨胀,为了和原来迂腐陈旧的老Web划清界限,有人把这些新的东西叫做“Web 2.0”(其实从技术角度上来说还是换汤不换药),自从那以后,便一发不可收拾,一系列冠以Web 2.0光环的应用如雨后春笋般呼之欲出,再加上风险投资的一路热捧,一场新革命就这样开始了。

  • 当人们已经逐渐习惯于甚至离不开基于B/S的online Web应用时(犹以Gmail,Google Docs, Google Spreadsheets为例),抱怨的声音也慢慢多了起来,比如网络连接的客观问题(如自然地震)影响了重要资料的访问,网络的主观临时中断(如飞机起飞降落时)使得工作无法继续等等。在这样那样的抱怨过后,有人开始想念传统的桌面应用之不依赖于网络的特性了,比如Microsoft Outlook, Word, Excel。自然而然地,新的Web应用需求诞生了:用户希望接下来的Web应用既要有Gmail的online好处,又要具有像Outlook那样offline也可以继续工作的优势,但前提是客户端尽量不要装任何额外软件(当然浏览器和Flash播放器之类的除外)。
  如今,种种迹象已经可以是我们感觉:对offline的支持,将很快成为Web应用的下一个技术热点了!记得去年早些时候我和周围朋友这样预测的时候,当中的绝大多数不以为然,摇头对我说:历史已经从C/S跨到B/S了,怎么可能再回过去呢?诚然,他们说的也对,历史是不可能回去的,但需求的升级会从历史发展中诞生新的技术应用,又有谁知道会不会再出来个B/S 2.0或者C/S 2.0呢?这样的例子已经屡见不鲜了。

  文末,让我来列出以下几个值得关注的offline技术应用动向:
  • Adobe Apollo
  • Mozilla XULRunner
  • Dojo Offline Toolkit
  • Firefox 3 offline cache
  另注:此类技术,似乎大都把重点放在了offline的cache存储机制上,而很少或者没有涉及复杂的offline业务逻辑(比如offline的业务规则引擎、业务数据同步机制等等)。这些尚未开发的领域会不会是下一个重点呢?因为一旦开了这个online/offline的口子,用户的需求总是会步步跟进的,这个的挑战无疑更加严峻,真是追求永无止尽啊……让我们拭目以待。

William Cui 崔伟毅

Labels: , ,