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 由一个 Sensor 基础接口和一组基于其之上构建的具体传感器类组成。具有基接口可以简化具体传感器类的实现和规范过程。例如,陀螺仪类就超小了!

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,这通常会导致实际的错误(因为我们最终经常会将此类数字表示为字符串)。

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 就开始受到支持,并提供了一个用于创建、检索和存储凭据的框架。它通过两种凭据类型执行此操作:PasswordCredentialFederatedCredentialWeb Authentication API 添加了第三种凭据类型 PublicKeyCredential,该类型允许浏览器使用身份验证器(如安全密钥、指纹读取器或可对用户进行身份验证的任何其他设备)生成的私钥/公钥对对用户进行身份验证。Chrome 67 在桌面设备上通过 USB 传输使用 U2F/CTAP 1 身份验证器来启用该 API。

如需了解详情,请参阅 Eiji 的使用 WebAuthn 启用增强型身份验证博文。

Google I/O 大会圆满结束

如果您没有参加 I/O 大会,或者您可能参加了但没看完所有网络讲座,请查看 Chrome 和 Web 播放列表,及时了解 Google I/O 大会的所有最新资讯!

开发者工具中的新功能

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

订阅

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

我叫 Pete LePage