前端漫游指南:Web API 简介 Web Sockets Web Workers Service Workers 语音识别设备传感器文件系统访问总结更多关于 Web API 的内容

2025-06-07

前端漫游指南:Web API

介绍

Web套接字

Web Workers

服务工作者

语音识别

设备传感器

文件系统访问

结论

有关 Web API 的更多信息

介绍

Web API 或 Web 浏览器 API 是内置的 JavaScript 对象和函数,可让我们利用浏览器的各种功能。

这些技术是在万维网联盟等各种组织下开发的,任何人都可以为任何规范做出贡献。

Web API 是标准化的,这意味着它们开箱即用,无需为支持特定 API 的浏览器添加任何库。然而,诸如 workbox 和 comlink 之类的库确实有助于解决更复杂的用例。

以下是浏览器的一些强大功能,您可能认为只有原生应用程序才能实现。

  1. Web套接字
  2. Web Workers
  3. 服务工作者
  4. 语音识别
  5. 设备传感器
  6. 文件系统访问

Web套接字

图像

如果您曾经使用过 Web 聊天应用程序,那么很可能在后台使用过这个 API。Web Sockets 允许您在客户端和服务器之间建立实时连接,从而实现实时双向消息交换。Socket IO是启动和运行这项技术的首选库。

在 REPL 上演示
简单的 Web Socket 应用

资源

Web Workers

图像

虽然 JavaScript 解释器是单线程的,但 Web Workers 允许我们在 Web 浏览器中生成额外的线程。

虽然 Web Worker 无法与 DOM 交互,但它们可以与其他 API 配合使用,并用于减轻主线程的工作负担。主线程和 Web Worker 之间也可以交换数据。

浏览器的主线程负责保持 UI 的快速响应。将工作转移到 Web Worker 可以减轻主线程的工作负担。

Comlink可以使您的工作对象可供您的主 JavaScript 代码使用,从而使使用 Web 工作程序变得更加容易。

演示
Web Worker 冒泡排序

资源

浏览器支持

图像

服务工作者

图像

Service Worker API是渐进式 Web 应用 (PWA)革命的起源。Service Worker 是一个后台 JavaScript 脚本,可以执行以下操作:

  1. 拦截网络请求
  2. 缓存网络请求
  3. 预先缓存 HTML、CSS、JS 以便离线工作
  4. 推送通知

等等。Workbox可能是构建服务工作线程以适应您可能需要的任何高级缓存策略的最佳库

例如,
我有一个最小的 PWA 启动项目,它可以离线工作,甚至有一个安装按钮可以添加到主屏幕(在 Chrome WIN 和 Android 上)。

在 REPL.it 上查看

浏览器支持
图像

资源

语音识别

Web 原生具备语音识别功能。使用Web Speech API,您可以构建对话体验。首先,您需要创建一个 WebSpeechRecognition 对象。

if (!('webkitSpeechRecognition' in window)) {
  upgrade();
} else {
  var recognition = new webkitSpeechRecognition();
  recognition.continuous = true;
  recognition.interimResults = true;

  recognition.onstart = function() { ... }
  recognition.onresult = function(event) { ... }
  recognition.onerror = function(event) { ... }
  recognition.onend = function() { ... }

Enter fullscreen mode Exit fullscreen mode

示例和资源

浏览器支持
图像

设备传感器

手机上充满了传感器,我们可以使用通用传感器 API来测量设备方向、环境光、磁场和加速度。

1_vJkvQUQZuP4DjgO1znoNVQ

演示

资源

浏览器支持
图像

文件系统访问

文件系统访问 API非常有趣,因为它允许用户将设备上文件的访问权限授予网站。这可以应用于将用户数据存储在设备上(而不是数据库中)的用例。

演示

浏览器支持
图像

资源

结论

我们可以利用众多功能来构建有趣的应用程序。对于你所选浏览器尚未支持的 API,你或许可以找到相应的pollyfill。当你想到这些 API 时,你会想到什么样的应用程序创意?

这只是我们前端之旅的第二站。敬请期待下周的第三站!

有关 Web API 的更多信息

文章来源:https://dev.to/snickdx/the-frontend-hitchhiker-s-guide-web-apis-1f6l
PREV
如何学习 Linux?(从零到大师)
NEXT
异步系列:回调 简介 异步是什么意思?为什么会发生这种情况? 异步代码实践 进入流程 编写高阶函数 结论