Web上十大重量级API家族

Web上十大重量级API家族

Web上的API太多啦,这里主要指主流浏览器chromium引擎提供的庞大标准库,其中JavaScript标准树的叶子属性或函数的数量就有大几千。这么大规模的api自然要想办法给他们分类,目前有许多分类标准:

  • 按名称/时间分类:MDN官网是按照首字母分类的、W3C和WhatWG则按照标准推出的时间来分类。

  • 按硬件来分类:在cpu、gpu、内存、外存、网卡、IO设备中,所有的api分为调用某个硬件或混合使用多个硬件。

  • 按体量分类:分为单量级、微量级、轻量级、中量级、大量级、重量级、巨量级。

  • 是否在安全上下文环境(https)中才能使用,参考《抛弃HTTP的API们》

其中按体量分类没有严格的标准,我们经常使用的API包括alert,console.log,setTimout这些都只是单个的函数,像包含许多子函数的console对象才能勉强称之为一个API家族,但console只能被贴上“轻量级”的标签,因为和其他API大家族相比,console简直太小了。如果把所有API家族整合到一棵家族树上,树的主干无疑就是V8的基本引擎:JavaScript/Html/CSS,也就是最常用的WebUI渲染引擎,无需多言。我们今天来谈谈家族树上其他的巨大分支,我整理了10个巨量级的API家族,看看你认识几个:

  • WebStorage:外存相关的API,包括sess/localStorage、indexDB/WebSQL、AsyncCaches(甚至cookies)。

  • WebGL:GPU图形卡渲染驱动器,3D游戏引擎。

  • WebRTCp2p即时通讯协议,音视频压缩算法。

  • WebAssembly:Web汇编指令集,原生内存堆栈空间接口。

  • WebComponents:WebUI扩展,虚拟DOM框架,安全组件化设计模式,可以自定义html元素。

  • ServiceWorker:WebApp的守护进程,WebDaemon后台代理,包括PWA、WebWorkers多线程。

  • TypedArray:二进制字节流工具,包括Buffer处理器、Blob、File接口、Bitmap。

  • 2D graphics:矢量图/位图引擎,包括canvas、SVG标记语言、Image接口。

  • Math API数学标准库,包括global.Math、MathML。

  • Streams:可读可写流,http请求工具Fetch。

  • WebLearning:【未完成】Web机器学习算法库。

这10个API家族个个不简单,想精通其中任何一项至少要花费3个月的学习时间,若想全部掌握这些API起码得经过10000小时的科学训练,但毫无疑问,在你全部掌握的那一刻,你已经是计算机领域的专家了(互联网方向)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xosg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值