客户端API
什么是客户端 API?
由浏览器等客户端或运行环境提供给开发者的一组可调用接口,允许开发者通过编程的方式调用浏览器运行环境中所提供的各项功能
API的种类
- 文档类:如DOM、CSSOM、Font等文档处理相关的API
- 网络类: 支持各种方式(异步、双向、实时、流媒体等)与服务端进行通讯,如XMLHttpRequest、fetch、WebRTC、Websockets、Stream
- 多媒体类:支持各种方式绘制图形图像、音频视频,提供播放音视频的UI控件,显示字幕等,如SVG、canvas、WebGL(3D)、WebGPU、WebVR等
- 系统类: 可安全调用本地系统资源,如文件系统,并封装了各种便利功能供开发者调用,如系统通知(Notifications )、振动硬件(Vibration )、地理位置(Geolocation)等
- 设备类:支持安全地访问各种外设,如摄像头、指纹设备、NFC 卡等
- 浏览器控制类,访问浏览器状态,程序化驱动浏览器工作等,可用于自动化测试、爬虫等场景,如BOM、WebDriver
- 其它:随着浏览器的发展,更多原生程序的功能被加入到Web平台。
浏览器应用编程
当前的浏览器已经支持各种功能,譬如客户端存储、客户端设备访问(摄像头、指纹设备)、客户端多媒体制作(2D、3D)等,并且提供API可供javascript调用
换言之,随着浏览器功能的日益强大,浏览器从一个面向终端用户的应用软件逐渐转变成为面向开发者的开发平台。
浏览器api演示
- Simplest possible examples of HTML, CSS and Javascript https://github.com/samdutton/simpl
- https://mdn.github.io/web-dictaphone/
教程
- https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Client-side_web_APIs/
- https://wangdoc.com/webapi