理应被广泛了解却鲜有人知的8个浏览器API


全文共2671字,预计学习时长7分钟

图源:unsplash

如今,很少有不使用API的web应用程序了。API目前广受欢迎,浏览器开始为复杂的功能提供API(ApplicationsProgramming Interface,应用程序接口),而这些功能有时只能通过本机应用程序实现。

 

随着web开发领域不断发展,浏览器厂商也在加紧跟上步伐。它们不断开发新的API,为web应用程序带来新的本地类功能。虽然一些API已经在现代浏览器中得到了充分支持,但人们对它们还是不太了解。下面这些API会在未来发挥重要作用,是时候认识他们啦!

 

Web Locks API

 

这个API允许你在多个标签页上运行web应用程序,以访问协调共享资源。虽然这种情况并不常见,但在高级用例中,开发人员需要运行web应用程序的多个浏览器标签页并保持它们同步,此时该API可以派上用场。

 

虽然 API (如Shared Worker、Broadcast Channel、local Storage、session Storage、post Message、unload handler)可以用来管理制表符通信和同步,但它们都有缺点,需要开发人员进行变通,而这会导致代码可维护性的降低。Web Locks API试图通过引入更标准化的解决方案来简化这个过程。

 

该API在Chrome 69中是默认启用的,但仍然没有得到Firefox和Safari等主流浏览器的支持。请注意,使用这个API时,你应该掌握如何处理类似“死锁”的问题,避免落入其中。

 

支付请求API(The Payment Request API)

 

支付请求API帮助客户和卖家更加无缝完成结账过程。这种新方法无需支付表单,从根本上改善了用户支付体验。由于该API支持Apple Pay和Google Pay,它将有望成为电子商务领域的主要组成部分。

 

此外,由于凭证是在浏览器中管理的,用户可以更容易从移动浏览器切换到桌面浏览器,并且仍然可以访问他们的卡片信息。用户还可以从商家端进行定制,只需提及商户支持的支付方式和银行卡信息,该API甚至可以根据送货地址提供送货选项。

 

图源:unsplash

页面可见性API(The Page Visibility API)

 

在电脑浏览器中同时要打开20多个标签页是很常见的事情,笔者有朋友曾经在修复一个bug后关闭了100多个标签页。浏览器甚至已经开始出现了对标签页按照特征进行分组管理的功能,使标签页更有条理。

 

页面可见性API的帮助下,你可以检测web页面是否空闲。换句话说,你可以知道用户是否正在查看包含你web页面的标签页。这听起来不足为奇,但它大大提升了用户使用网站的体验度。以下是几个可以使用该API的例子:

 

·        当浏览器标签处于非活动状态时,下载应用程序包资源和媒体资源的剩余部分,这将帮助您高效利用空闲时间。

·        当用户最小化或切换到另一个标签页时暂停视频。

·        当标签页处于非活动状态时,暂停图片轮播。

 

尽管开发人员过去使用过blur 和 focus等事件,但它们并没有告诉用户你的页面是否真的被隐藏了,页面可见性API帮助解决了这个问题。此外,该浏览器API与大部分浏览器兼容。

 

来源:MDNDocs

 

基于图形检测API(The Shape Detection API)

 

web开发人员可能遇到过许多需要安装外部库来处理图像中面孔、文本和条形码等元素检测的情况,这是因为之前还没有可供开发人员使用的web标准API。

 

Chrome团队正试图通过在Chrome浏览器中提供一个实验性基于图形检测API来改变这一现状,使其成为web标准。目前该API还处于试验阶段,您可在 chrome://flags中启用 #enable-experimental-web-platform-features 进行本地访问。

 

Web分享API (The Web Share API)

 

Web分享API允许你以与本机应用程序相同的方式将链接、文本、文件共享到设备上的其他应用程序,有助于提高用户对web应用程序的参与度。从2020年年中开始,这个API只能在Safari和Android的Chromium分支上运行。

 

本机共享接口

 

消息推送API(The Push API)

 

消息推送API允许web应用程序从服务器接收推送到它们的消息,不管应用程序是否处于前台。即使应用程序没有在浏览器上加载它也可以工作,这使得开发人员能够及时地向用户交付异步通知。要实现这一点,应该在使用API之前获得用户权限。

 

Cookie存储API(The Cookie Store API)

 

众所周知,使用cookie有点慢,因为它是同步的。但Cookie 存储API实现了对HTTP cookies的异步访问,有时也被称为异步Cookie API。此外,该API还向服务工作者公开这些HTTP cookies。尽管有帮助库来辅助所有常见的cookie操作,但有了Cookie存储API,这些操作会更容易,也更高效。

 

图源:Unsplash

 

Web分享目标API(The Web Share Target API)

 

通过在web表单中提供类似于应用程序的体验,web应用程序正在改变我们理解应用程序的方式。根据StateOfJS网站的数据,约48.2%的用户使用过PWAs(Progressive Web Apps,渐进式Web应用), 另有45.5%的用户知道PWAs,足以见得PWAs受众之广。

 

尽管PWAs有许多类似于本机的特性,但它们缺少从本机应用程序接收文件的途径。这个API实现了从其他本机应用程序接收链接、文本、文件,目前该API只能在Android系统Chrome 76及以上版本浏览器使用。

 

图源:unsplash

这些API都是非常“酷炫”的。缺乏主流浏览器支持是这些API的唯一不足之处,这意味着在生产中使用这些API并不容易。但我敢肯定,它们将在未来浏览器与web的开发中发挥关键作用。


推荐阅读专题

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:吴子珺、段筱玥

相关链接:

https://medium.com/better-programming/8-unheard-of-browser-apis-you-should-be-aware-of-45247e7d5f3a

如转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

猜你喜欢

转载自blog.csdn.net/duxinshuxiaobian/article/details/108353805