软件开发架构师

GeckoView与Android上新的Firefox Preview简介-InfoQ

前端 55 2019-09-02 15:08

Mozilla 最近在 Android Play 商店发布了 Firefox Preview ,这是 Firefox Mobile Web 浏览器的新迭代版本,它是围绕 GekcoView 从头开始构建的,GekcoView 是一个基于 Gecko 浏览器引擎的开源 Web 浏览组件。

Firefox Preview 并不是要取代 Firefox Mobile ,后者依然可以通过 Android Play 应用商店获取。相反,创建它是为了构建、测试和交付独特的特性,并针对移动浏览器应该提供什么样的外观和体验方面探索新的理念。它还为 GeckoView 提供了一个更广泛的测试平台,因为到目前为止,GeckoView 仅用到了一些较小的项目中 (如 Firefox Focus、Reference Browser 和 Firefox Reality)。

但是,支撑 Firefox Preview 的 GeckoView 组件并不限于 Mozilla 内部使用。它可以作为 Android 内置 WebView 的替代方案,它可以普遍应用于 Web 应用,以便于在应用上下文内部展现 Web 页面。GeckoView 组件提供了多个原生 Android WebView 组件所缺少的高级 Web 功能,因为后者从来没有设计成支持完整的“Web 浏览器”体验。但是,这些功能也是有代价的,添加 GeckoView 组件会让你的包增加 30MB,对于较小的应用程序来讲,这是很明显的。

使用独立的组件来显示 Web 内容还有一个额外的好处,那就是它不依赖于操作系统版本,这是许多开发人员都在努力解决的一个问题。虽然谷歌试图为不够好的 WebView 组件推送自动升级来解决这个问题,但开发人员仍然可能面临他们所使用的 WebView 组件与客户所使用的组件不同的情况。

目前,GecKoView 组件仅适用于 Android,因为苹果拒绝让第三方 Web 引擎进入其生态系统。遗憾的是,对于使用 Cordova 或 Capacitor 的混合移动开发人员来说,这限制 GeckoView 的可用性,如果能够在两种操作系统上使用同一个 Web 引擎的话,那么这些开发人员将会从中收益。Mozilla 和其他公司过去曾抗议过苹果的决定,但似乎并没有什么改观。

你可以通过 Mozilla 的官方博客文章了解 Firefox Preview 的更多信息。

GeckoView 基于 MPL(Mozilla Public License)发布,其文档可以通过 Github 仓库获取,不过它的代码本身是托管在 Mozilla Central 上的。

原文链接:

GeckoView and the New Firefox Preview for Android

文章评论