Chrome 67 的新功能

  • 渐进式 Web 应用即将登陆桌面设备
  • 借助通用传感器 API,您可以更轻松地访问加速度计、陀螺仪等设备传感器。
  • BigInt 可让您更轻松地处理大整数。

还有更多功能!

我是 Pete LePage。我们来深入了解一下 Chrome 67 中面向开发者的新功能!

想要查看完整的变更列表?请查看 Chromium 源代码库更改列表

桌面 PWA

Spotify 的桌面版渐进式 Web 应用

ChromeOS 67 现在支持桌面版渐进式 Web 应用,我们已经开始着手为 Mac 和 Windows 提供支持。安装后,这些应用会像其他应用一样启动,并在应用窗口中运行,而不会显示地址栏或标签页。Service Worker 可确保应用快速且可靠地运行,而应用窗口体验则让用户感觉到应用已集成。并为用户打造引人入胜的体验。

开始使用与您目前所做的没有任何不同。 您为现有渐进式 Web 应用所做的所有工作仍然适用,您只需考虑一些额外的断点即可。

如果您的应用符合标准的 PWA 条件,Chrome 将触发 beforeinstallprompt 事件,但不会自动提示用户。相反,请保存事件;然后,向应用添加一些界面(例如安装应用按钮),以告知用户您的应用可以安装。然后,当用户点击该按钮时,对保存的事件调用提示;Chrome 将向用户显示提示。如果用户点击“添加”,Chrome 会将您的 PWA 添加到他们的搁架和启动器。

请观看我的 Google I/O 讲座,其中 Jenny 和我详细介绍了构建桌面版渐进式 Web 应用时需要考虑的技术和特殊设计注意事项。

如果您想开始在 Mac 或 Windows 上试用此功能,请参阅完整的桌面版渐进式 Web 应用博文,详细了解如何使用标志启用支持。

通用传感器 API

传感器数据在许多应用中都有用途,可用于实现沉浸式游戏、健身跟踪以及增强现实或虚拟现实等体验。现在,使用 Generic Sensor API 的 Web 应用可以使用这些数据。

该 API 由一个基本传感器接口和一组基于该接口构建的具体传感器类组成。使用基准接口可以简化具体传感器类的实现和规范流程。例如,陀螺仪类非常小!

const sensor = new Gyroscope({frequency: 500});
sensor.start();

sensor.onreading = () => {
    console.log("X-axis " + sensor.x);
    console.log("Y-axis " + sensor.y);
    console.log("Z-axis " + sensor.z);
};

核心功能由基准接口指定,而陀螺仪只会使用三个表示角速度的属性对其进行扩展。Chrome 67 支持加速度计、陀螺仪、方向传感器和动作传感器。

Intel 整理了多个通用传感器 API 演示示例代码,还更新了 9 月份的 Sensors for the Web! 博文,在其中提供了您需要了解的所有信息。

BigInt

BigInt 是 JavaScript 中一种新的数字基元,可表示任意精度的整数。在 JavaScript 中,无法安全地将大整数 ID 和高精度时间戳表示为 Numbers,这通常会导致实际 bug(因此,我们通常会将此类数字表示为字符串)。

let max = Number.MAX_SAFE_INTEGER;
// → 9_007_199_254_740_991
max = max + 1;
// → 9_007_199_254_740_992 - Yay!
max = max + 1;
// → 9_007_199_254_740_992 - Uh, no?

借助 BigInt,我们可以安全地存储和执行整数算术运算,而不会溢出。目前,处理大整数通常意味着我们必须求助于模拟 BigInt 等功能的库。

let max = BigInt(Number.MAX_SAFE_INTEGER);
// → 9_007_199_254_740_991n
max = max + 9n;
// → 9_007_199_254_741_000n - Yay!

BigInt 广泛提供时,我们将能够舍弃这些运行时依赖项,改用原生 BigInts。原生实现不仅速度更快,还能帮助缩短加载时间、解析时间和编译时间,因为我们无需加载这些额外的库。

等等!

当然,这只是 Chrome 67 中面向开发者的部分变更,还有许多其他变更。

从 Chrome 51 开始,系统支持 Credential Management API,该 API 提供了用于创建、检索和存储凭据的框架。它通过两种凭据类型(PasswordCredentialFederatedCredential)实现了这一点。Web Authentication API 添加了第三种凭据类型 PublicKeyCredential,它允许浏览器使用身份验证器(例如安全密钥、指纹读取器或任何其他可对用户进行身份验证的设备)生成的私钥/公钥对对用户进行身份验证。Chrome 67 支持在桌面设备上通过 USB 传输使用 U2F/CTAP 1 身份验证器启用该 API。

如需了解详情,请参阅 Eiji 的 Enabling Strong Authentication with WebAuthn 一文。

Google I/O 大会已落下帷幕

如果您错过了 I/O 大会,或者您参加了大会,但没有观看所有 Web 讲座,请查看 “Chrome 和 Web”播放列表,及时了解 Google I/O 大会的最新动态!

DevTools 中的新功能

请务必查看 Chrome 开发者工具的新变化,了解 Chrome 67 中 Chrome 开发者工具的新变化。

订阅

然后,点击我们的 YouTube 频道上的订阅按钮,这样每当我们发布新视频时,您就会收到电子邮件通知。

我是 Pete LePage,Chrome 68 发布后,我会立即为您介绍 Chrome 中的新变化!