🧩 领域:Web APIs

🔎 核心定义

浏览器的超能力

Web API 是浏览器(宿主环境)提供给 JavaScript 调用的接口。 JavaScript 语言本身(ECMAScript)只规定了语法和标准库(Array, Object),而操纵 DOM、发送网络请求、读取本地存储等能力,全靠浏览器提供的 Web API 桥接实现。

graph LR    
    subgraph Browser [浏览器宿主能力]
        WebAPI --> DOM[DOM 渲染]
        WebAPI --> Net[网络线程]
        WebAPI --> GPU[图形渲染]
        WebAPI --> Disk[本地存储]
    end

🏗️ 原生能力导航 (Native Capabilities)

1. 文档与视图 (Document & View)

页面的骨架与窗口交互

2. 网络与通信 (Network)

数据的获取与实时交换

  • HTTP 请求
    • Fetch API (现代标准,Promise 风格)
    • XHR (XMLHttpRequest,旧标准,Axios 底层)
    • Beacon API (页面卸载时发送数据,用于埋点)
  • 实时通信

3. 存储与缓存 (Storage & Cache)

数据持久化方案对比

API特点典型场景
Web StoragelocalStorage/sessionStorage,同步,5MB简单的配置项、Token
IndexedDB异步,NoSQL 数据库,容量大复杂离线数据、富文本草稿
Cookie随请求发送,容量小 (4kb)身份认证 (Session ID)
Cache APIRequest/Response 对象对缓存Service Worker 离线资源缓存

4. 性能与多线程 (Performance & Threads)

突破 JS 单线程限制

5. 多媒体与图形 (Media & Graphics)

6. 设备与系统能力 (Device Access)

逐步缩短 Native 与 Web 的差距


🔌 第三方生态 (Third-Party Ecosystem)

利用外部服务扩展 Web 能力

虽然这些不是浏览器标准,但前端开发常需集成:

  • 地图/GIS:Google Maps SDK, Mapbox GL JS, 百度地图API
  • 认证/社交OAuth (Login with Google/GitHub/微信), Firebase Auth
  • 支付:Stripe SDK, PayPal, 微信/支付宝 H5 支付
  • 数据分析:Google Analytics, Sentry (监控 SDK)

📥 学习与待办 (Inbox)

📚 参考资料