本帖最后由 yingliu 于 2019-7-19 19:41 编辑
去年九月,我们曾分享过要利用 GeckoView 作为可重复使用的函数库,将 Firefox 描绘引擎(rendering engine)也导入 Android 平台。我们把 Gecko 引擎和 Firefox 应用程序「解绑」,创造出一种更新、更快和更易于维护的方式来开发 Android 应用。这套模式充分运用了 Gecko 卓越的性能、隐私性,以及对于先进网络标准的支持能力。
随着搭载 GeckoView 的 Firefox Preview 浏览器上线,我们希望趁此机会分享今年以来 GeckoView 的进展和目前的开发进度。
Firefox Preview 登场
Firefox Preview 是我们建立、测试和交付独特功能特点的平台。我们将运用 Firefox Preview 持续探索更多有关移动浏览器功能和接口的新概念。邀请您下载试用!
其他采用 GeckoView 的项目
除了 Firefox Preview 以外,Mozilla 也将 GeckoView 推向其他多款产品:
Firefox Focus
Firefox Focus 是 GeckoView 最受瞩目的受惠对象。Focus 的极简性很适合进行实验测试。目前,我们正利用 Focus 在 GeckoView 和Android 内建的 WebView 之间执行分离测试 (split test)。借此,我们希望确保 GeckoView 的性能与稳定性符合或超越 Android 平台函数库的预设标准。
虽然 Focus 在其专属领域中的表现出类拔萃,但它不是一般用途的通用型浏览器。在设计上,Focus 不保留浏览记录或书签,也不支持包括 WebRTC 在内的 API。但我们还是需要有地方来测试那些功能,才能保障 GeckoView 有足够的能力和韧性来支持全功能浏览器的开发。因此,我们创造出 Reference Browser。
Reference Browser
Reference Browser 和 Firefox Preview 一样,也是以 GeckoView 和 Mozilla Android 组件建立的完备的浏览器,但不同处在于:它锁定的不是终端用户,而是浏览器开发人员。事实上,Reference Browser 是个实验的场域,用来验证 GeckoView 和 Mozilla Android 组件彼此之间的搭配性和执行的成果。它让我们摆脱现有产品的局限,自由地开发核心函数库。
Firefox Reality
GeckoView 也是独立式 VR 设备专用之 Firefox Reality 浏览器的心脏。除了受惠于 Gecko 对沉浸式网络的强大支持,Firefox Reality 也充分善用 GeckoView 的多功能性。这套函数库既是驱动 Focus 和 Firefox Preview 等「传统」浏览器的核心,也为全新的沟通媒介创造崭新体验。
Firefox for Android
虽然 Android 版 Firefox(代号「Fennec」)在正常浏览状态下不会用到 GeckoView,但会用它支持渐进式网页应用程序(Progressive WebApps, PWA)和自定义标签页。此外,由于 GeckoView 和 Fennec 同样搭载 Gecko,都能得益于此共同架构的改进。
GeckoView 是 Mozilla 下一代移动产品的基础。为了加紧实践此愿景,我们已暂停 Focus 的新功能开发,以全力研究 GeckoView 的架构,并为发布 Firefox Preview 做准备。若您未来有兴趣支持 Focus 的发展,请花一分钟填此在线问卷。
内部组件
除了产品开发方面的进展以外,GeckView 内部的技术在过去六个月内也突飞猛进,特别是在编译程序的优化及 CPU 架构支持的扩展上,包括: - 现已启用 Android 上的配置文件引导优化(Profile-Guided Optimization,PGO)技术,让编译程序利用实际执行与观察 GeckoView 过程所收集的数据,产生更有效率的程序代码。
- IonMonkey JavaScript JIT 编译程序现已于 GeckoView 的 64 位ARM 架构上启用。
- 我们现在正为 GeckoView 建立 x86_64 位的架构。
针对即将上线的版本,我们正积极纳入 Web push 和「新增到手机主画面」等功能。
助我们一臂之力
GeckoView 不是只为了 Mozilla 而存在,我们更希望它能为您所用。
我们也希望能直接为您解答问题。如果您需要任何有关 GeckoView 的协助,欢迎通过以下方式与我们联系:
欢迎给予指教与建议!
作者:Mozilla 开发团队成员 Dan Callahan
|