初用Google Gears 有感

文章来源:一路读 http://www.yiludu.cn/

做了一些年的web开发,见到了一些web技术的革新和进步.作为从事b/s开发的人来说,是很欣慰的。
以前出现了一种ajax技术,应该是很有革新意义的,
Ajax应用程序的优势在于:
  1. 通过异步模式,提升了用户体验
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

今天我说的google gears,我想也是一个技术革新.

最近的项目遇到一个问题,使用cdma网络,对某一个数据的输入需要实现google那样输入快速连动显示的功能,
而数据量又有点大,要快速连动,几乎不可能.

所以只能考虑一些新的技术,这就是google gears了。将数据库本地化.
http://code.google.com/apis/gears/sample.html
这里有简单详细的例子,试用的感觉的确是不错的。

他含有3个重要的模块。
1,Database module就是本地数据,可以使用标准的sql语法操作,比如建表查询删除等等。
这样很多常用数据我们都可以本地化存储,不用每次都从server端下载,
提升了用户体验,减少不必要的数据往返.
特别是对网络环境不好的。如果用户在操作的时候断网络,就可以把输入的数据现保存到本地库,
后期网络正常后在同步。

2,LocalServer module就是本地服务器,大家都知道b/s的文件都是存放在server端的,
不存在什么客户端,如果网络出了什么问题,那么系统也就不能访问了,
LocalServer module就是为让断网的时候依然可以使用b/s系统,他将server端的一些文件存储到本地.
比如我们要登记一个资料,以前没有b/s的系统断网了肯定不行,录入的界面打不开,打开了也无法录入提交到服务器.
用了LocalServer module,我们就可以在断网的情况下打开录入界面,然后录入,然后使用Database module存储,
网络好了的时候在同步,我们也不用总是担心数据没及时录入以免以后就忘记录入了。
(这一点我们暂时没有使用,和界面的设计有些关系,对我们的系统不太容易应用,有些界面暂时没办法本地化)

3,WorkerPool module.工作者池,这是一个最重要的模块,用过pool技术的都知道,
就是pool中的各个主体独自工作,这里的pool是实现了让多个js在后台异步运行互不干涉.
这样用户在使用系统的时候,是感受不到有js在运行的,以前js运行的时候,界面都是不可操作的,
必须要等js运行完了,才能做其他操作,使用WorkerPool module就可以解决这个问题,
比如在我们的系统中,要把服务器的数据库(某个表)本地化,大概需要1个小时,
如果使用传统的js来操作,界面就要运行一个小时(可能没有响应),ie基本都是白屏.
这显然是行不通的了,所有我们只能用WorkerPool module,在用户没有感觉的情况下,
在后台通过ajax分段获取到服务器的数据,然后启动WorkerPool module写入,效果感觉非常的不错。


以上就是自己试用(也算是正式的用了)后的一点感受,和大家一起分享。

web开发,真的是其乐无穷。感谢哪些技术牛人。

你可能感兴趣的:(Google)