Gears框架分析

本文详细介绍了Google的Gears框架,旨在增强浏览器功能,支持离线Web应用。Gears包括本地服务器、SQLite数据库、WorkerPool和桌面集成等功能,提供离线数据存储和同步。文章还分析了Gears的安全模型,采用Same Origin Policy并首次使用时需用户授权。最后,文中探讨了Gears的源码结构,如Factory、Database、LocalServer和WorkerPool等模块的实现。
摘要由CSDN通过智能技术生成

转贴请注明出处

 

一、Gears是什么
Gears是由Google公司开发维护的一个开源项目,该项目的目的是通过增强浏览器特性,使得支持强大的Web应用。
Gears的主要特点如下:
1. 使得Web应用程序可以非常自然的与桌面交互(Desktop)
2. 支持资源本地化(LocalServer)
3. 将访问的数据本地存储在关系数据库中(Database)
4. 高效的后端执行Javascript脚本(WorkerPool)

二、Gears框架
下图是从Google Gears Documentation中抓出来的,这篇有关Gears体系结构的文章,分析了在设计Gears时所考虑的一些有关数据传送和同步方面的问题,有些意思(http://code.google.com/apis/gears/architecture.html)。

如上图所示,网络链接的情况下,Web应用程序按照下列方向通信
Application UI->Data Switch->Server Data Layer->Internet
如果此时网络出现问题,则Data Switch模块会将数据暂存在本地数据库中,等网络可用时,再将这些缓存数据提交到服务器。过程如下:
Application-UI->Data Switch->Local Data Layer->Database->Sync Engine

从Gears的整体代码结构看,可以看出主要由下面几个方面组成:
1. 本地服务器,读取和存储离线程序资源
2. 小型数据库(SQLite),用于存储本地数据
3. 工作池,将本地数据与服务器后台同步
4. 桌面模型,让网络应用程序的操作与桌面程序紧密接合
5. 地理定位,让网络程序侦测到当前用户的位置信息

三、Gears的安全模型
Gears使用Same Origin Policy安全策略,即只有拥有相同SCHEME,HOST, PORT的URI才能互相访问资源。对于不同源之间的资源互访,目前还处于研究和开发中。
下面是Same Origin Policy的样列:
Compared URL                                                     Outcome     Reason
http://www.example.com/dir/page.html                   Success     Same protocol and host
http://www.example

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值