RSS订阅


    抓虾    pageflakes
    Rojo    google reader
    netvibes    my yahoo
    newsgator    blogdtnes
    鲜果    哪吒
    有道

开源的Google Gears欲成新的市场标准

来源: LUPA开源社区
发布时间: 2007-06-11 09:20 作者: Gao Ang 来源: InfoQ 版权申明

字体: | 上一篇 下一篇 | 打印


文章来源于http://www.lupaworld.com

  作为5月31日的Google开发者日活动的一部分,Google宣布了新的离线Web应用程序API:Google Gears。在FAQ中,Gears定义如下:

  Google Gears是开源的浏览器扩展,它可让开发者创建能离线运行的Web应用程序。Gears提供以下3个关键特性:

  • 本地服务器”,缓存资源(HTML、JavaScript、图片等等),使应用程序无需连接服务器即可访问这些资源
  • 数据库”,在浏览器内部保存和访问数据。
  • 工作者线程池”,通过在后台执行费时的操作使应用程序响应更加迅速。

  Gears在新的BSD许可证下授权,使得Gears运行时API可以以最小的约束嵌入到第三方的软件中。目前的安装形式是浏览器扩展(大约700k大小),支持Windows下的IE和Firefox,Linux和OS X下的Firefox。对于Opera和Safari的支持正在开发中。

  让我们进一步的了解所提供的3个组件:

    本地服务器(LocalServer)

    本地服务器是一个专用URL缓存,它拦截请求并在需要时由本地对其进行响应。有2种类型的URL“资源库”。其中,最基本的是资源库(ResourceStore),它允许应用程序保存那些与URL关联的特定用户文件,如PDF或图片。这些被缓存的URL必须由应用程序显式更新。第二种资源库被称为受管资源库(Managed ResourceStore)。它包含一组由清单(manifest)定义的URL。当清单的版本号发生变化时,该集合必须被自动更新。Gears会周期性的检查受管资源库是否被更新了。

    数据库

    除了URL缓存,Gears还包含一个SQLite数据库实例。数据库中的数据按照域名(Domain)分区,除了最初保存这些信息的域名外,从其它的域名无法访问这些数据。使用Javascript访问数据库的语法与JDBC非常类似:

    resultSet = db.execute (
    'INSERT INTO MYTABLE VALUES (?, ?, ?) WHERE id=?',
    [1, 2, 'three four', 5]);
    while (rs.isValidRow()) {
    console.log(rs.fieldName(0) + " == " + rs.field(0));
    rs.next();
    }
    rs.close();

    工作者池(WorkerPool)

    Google Gears提供的最后一个元素是工作者池API。文档解释了包含它的原因:

    在浏览器中,一个时间密集型操作,如I/O或重量级计算,会使用户界面无响应。工作者池模块在后台运行操作,因此不会阻塞用户界面。脚本在工作者池中运行,不会触发浏览器的“无响应脚本”对话框。

    工作者池的行为象一组进程,而非单独的线程。除了Javascript函数,工作者无权访问DOM。当工作者接受到响应时,onmessage回调被用于执行活动。

  就Google自身Web应用程序中的最初使用来说,Gears已经被集成进Google Reader

  GWT团队也已经装配了Google API Library for Google Web Toolkit。Gears API集成利用了GWT的JavaScript本地接口(JavaScript Native Interface,JSNI)

  ZDNet的记者对Google的Linus Upson进行了采访,访谈中显示,Google期望Gears能成为离线Web应用程序开发的标准:

  Google的Upson对于公司开源这一技术的动机并不加掩饰。按照他的说法,公司打算使它成为目前市场中的一个标准,而不是满足标准机构的需要。由于几乎没有Web应用程序提供商具备这种离线能力,加上Google为此准备了一笔战争基金,这一技术很有可能会成为离线运行的Web应用程序的事实业界标准。

文章来源于http://www.lupaworld.com

声明:LUPA开源社区刊登此文只为传递信息,并不表示赞同或者反对。
21/212>

查看全部评论(1) 最新评论

  • 删除 Guest (2008-4-16 10:45:07, 评 0 分) 支持 反对

    gears 为什么不能通过代理服务器安装,例如ISA代理的客户端?


查看全部评论(1)我来说两句 直接向LUPA提出您的宝贵建议

-5 -3 -1 - +1 +3 +5