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

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

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 推送和“添加到主屏幕”等功能的


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

不同浏览器的内核

网页上所用到的语言有: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 引擎

理解Js中的Repaint和Reflow

最近,在研究React的虚拟DOM如此之快的原因时,我意识到我们对javascript性能的了解甚少。所以我写这篇文章是为了帮助提高对Repaint和Reflow以及JavaScript性能的认识。

用Vue.js在浏览器中裁剪图像

你是否写了一个需要接受用户上传图片的 Web 应用,后来才意识到用户总是提供各种形状和大小的图像来破坏你的网站主题?在网络上处理图像很容易成为一种痛苦 —— 当然,除非你使用了正确的工具。

防止用户在浏览器下调试查看js代码

浏览器可以通过F12或者鼠标右键的形式打开html页面,然后就可以看到页面的的信息,如dom结构,加载文件、请求信息等。那有没有办法禁止掉这一行为呢?

监听浏览器刷新及关闭

为保证‘高度安全性’,用户每次退出页面或浏览器都要清除登陆信息,每次进入系统都要重新登陆(每次登陆还要手机验证码等乱七八糟的验证信息,,,求用户的心里阴影面积),但是刷新页面不可以清除登陆信息。

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

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

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