GeckoView:Mozilla面向移动浏览器打造的渲染引擎

时间: 2019-07-05阅读: 253标签: 浏览器

Mozilla 现已推出面向 Android 的全新移动浏览器 Firefox Preview。与大多数浏览器所采用的 Bink 渲染引擎不同,Firefox Preview 的渲染引擎 GeckoView 由 Mozilla 自行开发。Mozilla 认为,这种独立性一定程度上避免了互联网被单一的科技巨头控制。


根据 Mozilla 工程师的介绍,他们开发 GeckoView 的原意是希望将 Firefox 的渲染引擎作为一个可重用库引入 Android 平台。

通过将 GeckoView 引擎与 Firefox 应用程序相分离,开发团队创建了一种更新、更快和更容易维护的方式来开发 Android 应用程序。这种方法利用了 Gecko 卓越的性能、隐私和对最新 Web 标准的支持。


下面我们来看看关于 GeckoView 的一些介绍和应用案例。


背景

我们都知道 Android 系统提供了内置的 WebView,应用程序可通过 hook 的方式以在 app 的上下文中显示网页。不过 Android 的 WebView 并非真正用于构建浏览器,所以它禁用了许多高级 Web API。另外,它的目标平台也不是统一的,不同的手机可能有不同版本的 WebView。

在这样的背景下,GeckoView 诞生了。


功能

作为一个渲染引擎,GeckoView 提供了完整的功能:

  • 功能齐全:GeckoView 旨在通过简单的 API 向应用程序暴露 Web 的全部功能。可以把它想象为利用了 Gecko(支持 Firefox 的引擎)的全部功能,而它的 API 类似于 WebView 并且易于使用。
  • 适用于应用程序和浏览器:GeckoView 特别适合构建移动浏览器,同时可以把它作为 Web 引擎组件嵌入到任何类型的应用程序中。
  • 自包含:GeckoView 是一个与应用程序捆绑在一起的独立库。
  • 符合标准:与 Firefox 一样,GeckoView 为现代 Web 标准提供了出色的支持。


使用 GeckoView 的其他项目

Mozilla 在许多其他的产品都使用了 GeckoView,列举几个如下(Firefox Preview 除外)。


Firefox Focus

Focus 的简洁性有助于进行实验测试,Mozilla 目前正利用它在 GeckoView 和 Android 的内置 WebView 之间进行隔离测试。这有助于确保 GeckoView 的稳定性和性能。

虽然 Firefox Focus 十分出色,但它不是一款通用的浏览器。设计之初它就不会跟踪历史记录和书签,也不支持 WebRTC 等 API。


Reference Browser

和 Firefox Preview 一样,Reference Browser 也是一款使用 GeckoView 引擎和 Mozilla Android 组件构建的完整浏览器。不过它不是面向普通用户推出,其目标受众是浏览器开发者。事实上,Reference Browser 更像是一个“试验基地”,用来测试 GeckoView 和组件是否合适并按预期运行 —— 并不受市场产品的限制。


Firefox Reality

这是一款专为独立虚拟现实头戴设备而设计的浏览器。除了利用 Gecko 对沉浸式网络技术的出色支持外,Firefox Reality 还展示了 GeckoView 的多功能性。


Firefox for Android

虽然 Firefox for Android (“Fennec”) 不使用 GeckoView 进行渲染,但它使用 GeckoView 来提供对 Progressive Web Apps 和 Custom Tabs 的支持。此外,由于 GeckoView 和 Fennec 都基于 Gecko,因此他们都受益于这个通用基础架构的改进。

Mozilla 将 GeckoView 视作为 Mozilla 下一代移动产品的基础。为了更好地支持这一未来,他们已停止 Firefox Focus 的开发,以将精力集中在 GeckoView 的开发上。

过去六个月,Mozilla 对 GeckoView 的内部实现进行了许多改进,特别是在编译器级优化和对其他 CPU 架构的支持方面。亮点包括:

  • 现已启用 Android 上的配置文件引导优化(PGO),使得编译器通过实际运行和观察 GeckoView 收集的数据来生成更高效的代码。
  • IonMonkey Java 的 JIT 编译器已面向 GeckoView 的 64 位 ARM 架构启用
  • 现在正在为 x86_64 架构生成 GeckoView 的构建

实现这些功能除了满足在 Google Play 的上架要求外,支持 64 位架构还可以进一步提高 GeckoView 的稳定性(减少内存崩溃)和安全性。由于 Firefox Preview 尚处于测试阶段,对于即将发布的 Firefox Preview 正式版本,Mozilla 正致力于添加对 Web 推送和“添加到主屏幕”等功能的


吐血推荐

1.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入...

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入...

3.站长广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入...

链接: http://www.fly63.com/article/detial/4023

JS检测CSS属性浏览器是否支持的多种方法

原生CSS.supports语法返回布尔值 true 或者 false ,用来检测是否支持某CSS属性。不考虑兼容性,对CSS的进行检测使用 CSS.supports() 方法,要检测IE浏览器使用赋值取值法。

浏览器内核分类

五大浏览器:IE、Firefox、Chrome、Safari和Opera。渲染引擎 它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机

js判断浏览器内核是否是safari浏览器

PC端只有Chrome有Safari字段吗?为什么不需要判断其他浏览器?其实360,QQ等浏览器的userAgent字段也会带有Safari字段,但是由于他们基于Chrome二次开发的,所有也会携带有Chrome字段。

Js详细判断浏览器运行环境

看到标题,大家就能想起这个需求在很多项目上都能用到。我们部署在Web服务器上的前端应用,既可以用PC浏览器访问,也可以用手机浏览器访问,再加上现在智能设备的推广,我们甚至能在车载系统、穿戴设备和电视平台上访问

不同浏览器的内核

网页上所用到的语言有:html, css, JavaScript等,其中,前两者通常决定了该页面长什么样,它们是可以说都是约定的规范。不同的浏览器在获取到某页面的代码文件后,负责根据这套规范将代码渲染出来呈现给用户

Js实现阻止浏览器返回的功能

无论pc端还是移动端,浏览器都会带有后退按钮或后退键.主要方便我们能返回以前访问过的页面,但有时候我们不得不关闭这个功能.尤其是对于一些推广落地页,用户进入后不希望它返回

完美解决安卓端百度浏览器屏蔽fixed悬浮元素的问题

h5活动页面底部有个悬浮图片按钮,使用fixed悬浮定位在底部,但是在安卓端的百度浏览器下打开,却发现该图片一闪而过,在百度浏览器中消失不见。

浏览器的三种Js弹窗方式

在做网页时,常常使用弹窗,以上就是浏览器的三种弹窗方式, alert 在测试时常用; confirm 可以套用if...else 来用 ,比如 :confirm点击了确定做什么事情,点击了取消又做什么事情;prompt 弹窗输入 ; 可以给网页设置密码。

火狐浏览器 访问所有HTTPS网站显示连接不安全解决办法

当 Firefox 连接到一个安全的网站时(网址最开始为“https://”),它必须确认该网站出具的证书有效且使用足够高的加密强度。如果证书无法通过验证,或加密强度过低,Firefox 会中止连接到这个网站,并显示“连接不安全”的错误信息页面。

常用浏览器内核及分类

浏览器是网页运行的平台,常用的浏览器有 IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。 浏览器内核分成两部分:渲染引擎和 JS 引擎

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全