回顾近十年的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: Ajax, Apollo, Offline