Gears

义项:离线上网软件
Gears

Gears(原称 Google Gears)是Google开发的一款开源浏览器扩展软件,其作用是让开发者借助新增加的JavaScript接口,使Web应用在网络不可用时仍能读取本地暂存的页面和数据[1][2]。它于2007年5月31日在Google开发者大会上首次公布,以BSD许可证发布[3]。2011年3月,Google宣布停止该项目,其离线缓存、本地数据库、地理定位、后台线程等功能由HTML5及W3C相关规范接续[4]。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

Gears是一套以浏览器扩展形式提供的JavaScript编程接口,安装后可为浏览器补充本地存储、资源缓存和多线程处理能力,使Web应用在断网状态下继续运行[1]。它并非供普通用户直接使用的应用,而是面向Web开发者的工具集;Google官方文档在发布初期将其定位为早期开发者版本,未建议用于正式生产环境[5]。软件以新BSD许可证开源发布,任何人都可以在自己的程序中嵌入其运行时或接口[6]。

该项目最初名为Google Gears,2008年5月开源后改名Gears,以体现其开放、协作的性质[3]。它的目标不只是服务Google自家产品,而是为整个Web提供一套通用的离线能力方案,Google方面也表示希望推动行业形成统一标准[2]。

原理

Gears的功能由几个彼此配合的模块实现。本地服务器(LocalServer)把HTML、CSS、JavaScript、图片等应用资源缓存在本机,浏览器从缓存读取页面,而无需每次都向远端服务器请求[1]。数据库模块内嵌开源数据库引擎SQLite,允许脚本以SQL语句在本地保存和查询数据,绕开了浏览器出于安全考虑对本地文件访问的限制[7]。工作者线程池(WorkerPool)则让耗时的数据库读写等操作放到后台线程执行,避免界面卡住[1]。

离线读写与在线数据的一致依靠同步机制来维持:Web应用可在有网络时把本地暂存的记录与服务器端数据定期对齐;若网络中断,同步动作被推迟到连接恢复后再执行,因此这类应用的数据并非实时[3]。后续版本还加入桌面快捷方式、文件拖放以及地理定位等模块,使网页程序的操作更接近桌面程序[3]。

发展历程

2007年5月31日,Google在首届Google开发者日上公布Google Gears,同时提供可在Windows、Mac和Linux上使用的早期版本[2]。首个支持Gears的Google产品是RSS阅读器Google阅读器,用户可先手动下载最新条目再离线阅读[8]。据当时报道,这一离线版本最初来自一名工程师利用个人项目时间所做的尝试,动机是在通勤班车上网络不稳定的环境下仍能使用阅读器[8]。

2008年,项目进入新的阶段:5月28日代码开源并正式改名为Gears;同年3月,面向Windows Mobile 5与6的移动版发布,可移植版本的0.2版功能被带到移动浏览器上[3][9]。0.3版增加桌面图标支持并适配Firefox 3,0.4版加入地理定位接口和40种语言的本地化,0.5版则升级了SQLite并支持依据WiFi信号定位[3]。

2010年2月,Google表示将把重心转向HTML5,Gears不再增加新功能[4]。2011年3月,Gears团队在官方博客宣布终止项目:不再发布新版本,Firefox 4和Internet Explorer 9不再获得支持,Chrome 12起移除该组件,但代码仍保持开源[4]。2011年6月7日,Gears从Chrome稳定版中移除[10]。

应用

Gears最常见的用途是让网页版邮箱、日历与文档编辑在断网时可用。Google曾把Gears用于阅读器、Gmail、Google日历和Google文档等产品,用户在无连接状态下也能打开已缓存的内容[11]。桌面软件与服务商Zoho、个人财务服务Buxfer等第三方也把它用于移动端网页应用[9]。

第三方开发者的用法还包括加快后台操作与改善文件上传。博客平台WordPress曾借助它加速管理界面的操作、减轻服务器负担[3];社交网站MySpace在收件箱中使用Gears的数据库接口配合全文检索,实现邮件搜索与排序[12]。此外,开发者社区还出现了把它与用户脚本管理器组合、从而让任意网站获得离线能力的做法[7]。

局限

Gears依赖用户自行安装浏览器扩展,且需网站服务端配合才能完整工作,未做相应改造的站点无法直接获得离线访问能力[13]。各浏览器版本的支持范围长期不一致,早期仅覆盖Firefox与Internet Explorer,Safari、Opera等平台的支持较晚或由厂商自行实现,兼容性随之成为问题[3]。

同步机制也带来局限。数据要等到连接恢复后才与服务器对齐,应用状态并非实时;不同产品的离线与在线切换体验也不统一,有的需要用户手动切换模式[3]。安全性上,跨域访问需用户逐次确认,页面涉及的域名一多就会连续弹出确认窗口,实际使用不便[13]。此外,Gears始终处于测试状态,官方未将其视作可供正式生产环境使用的成品[5]。

更根本的限制来自标准化进程。作为插件而非浏览器内建机制,它难以在所有浏览器中统一提供,Google最终选择将相关能力交由标准组织定义,以应用缓存、IndexedDB、Web Workers、地理定位等接口取代Gears[4]。这也意味着依赖它的旧应用需要改写代码才能在新版浏览器上继续提供离线功能[14]。

参见

  • HTML5 —— 接替Gears离线与存储能力的网页标准。

  • SQLite —— Gears数据库模块所内嵌的本地数据库引擎。

  • Web Worker —— 由Gears的工作者线程池思路发展而来的浏览器接口。

  • 应用程序缓存 —— HTML5中用于替代Gears本地服务器缓存的机制。

  • IndexedDB —— 由Google与Mozilla、微软共同提出、可取代Gears数据库接口的浏览器存储标准。

  • JavaScript —— Gears全部功能对外暴露所用的编程语言接口。

参考资料

  1. What is Google Gears? [引用日期2026-10-29]
  2. google-launches-gears-open-source [引用日期2026-10-29]
  3. 维基百科,自由的百科全书 [引用日期2026-10-29]
  4. Gears API Blog - skip to main | skip to sidebar [引用日期2026-10-29]
  5. What is the status of Google Gears? [引用日期2026-10-29]
  6. Do I need a license to use Google Gears? [引用日期2026-10-29]
  7. Google Gears について [引用日期2026-10-29]
  8. Google Gears churns toward Microsoft - Skip to content [引用日期2026-10-29]
  9. Power up your mobile web applications [引用日期2026-10-29]
  10. 'google-gears' tag wiki [引用日期2026-10-29]
  11. Google stoppt Entwicklung von Gears [引用日期2026-10-29]
  12. Google Tightens Its Gears -- Visual Studio Magazine [引用日期2026-10-29]
  13. riverpublishers.com 上的文件 [引用日期2026-10-29]
  14. Google Gears Skidding to a Stop [引用日期2026-10-29]
词条评价
词条统计

浏览次数:1 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:18:37Z

历史版本

本条目引用的词条
Web开发 SQLite Google阅读器 HTML5 Web Worker 应用程序缓存 IndexedDB JavaScript