编辑导语:互联网用户增长的逐步放缓,让用户增量变得越来越难。面对瞬息万变的移动互联网市场,企业应该如何制定用户运营策略,从而帮助企业更好地扬长避短。本文作者分享了不同接口调用方式对产品设计和用户体验的效果影响,我们一起来看看吧。

优化用户界面有什么建议(这个小小的技术点)(1)

在产品的开发过程中,我们都应该听过「接口」这个词,如果没听过,我建议你先去补下接口的相关知识再来看这篇文章,比如什么是接口、什么时候会用到接口、以及谁会用接口。至于怎么用,那是开发小哥哥的工作,不需要研究太深,也不是本文要讨论的重点。

在软件开发中,最常见的一个场景就是前端与后端进行接口调用,今天我们就来说下不同的接口调用方式对产品设计和用户体验的效果影响。

一、接口调用的方式有哪些

首先,我们先来看下接口调用方式的分类,这里先举个栗子。

比如疫情在家办工,我们和业务需要沟通需求。

如果用电话的方式沟通,当你问出一个问题后,需要一直在线等待他给你回应才算沟通结束。

这种就是同步

如果用微信信息的方式沟通,当你问出一个问题后,不需要在聊天页面等他回复,你可以继续切换窗口和别人聊天,不管多久,等他回复你消息后,你都会即时收到消息提醒。

这种就是异步

所以,和沟通相似,接口调用的方式分为同步调用和异步调用。

同步调用是最常见的接口调用形式,在同步调用模式下,接口的调用方在一定时间范围内一直等待,直到被调用方返回执行结果。

异步调用是接口调用方给被调用方发出指令,但不会愣在那等待结果,调用方会给被调用方提供一个回调接口,处理完成后,再调用回调接口返回结果。

在这里我们不考虑通信的底层协议是什么,只单纯的考虑场景,电话沟通就是同步,信息沟通就是异步。

所以在接口通信时,不能即时响应的工作就可以考虑采用异步调用的方式。

二、异步调用的产品设计应用

在产品设计过程中,我们会遇到很多需要等待时间的场景,比如上传、下载、导出等,这时如果接口选择同步调用,就会一直停在当前页面等待接口返回结果才能进行下一步。

在这里用一个工作中的实际案例来说明我是如何用异步调用优化用户体验的。

我之前公司所在的行业是物联网,所有的前端操作都是基于业务平台和硬件通信去完成的,硬件数据采集后会直接存入数据库,供业务服务调用,同时也会向硬件发送一些控制命令,我这里以控制命令来举例。

因为硬件和平台的通信依靠移动网络,所以有时会产生收发命令延迟的问题,整个发送到接收回复的一次完整通信时间有时会需要超过5s,如果用户在网络不好的情况下点击发送命令,就需要等待很长的时间才能收到执行成功或者失败的结果通知。

考虑到网络延迟情况,收发命令的接口就特别适用异步调用模式。

首先点击页面上的“发送命令”,页面提示“命令已发送,请耐心等待”。这时前端就不需要一直等待后端接口的返回了,用户可以去做其他操作。

当后端接口有执行结果返回时,前端会实时接收到通知,并将结果推送到页面上通知用户,这样做既完成了命令的收发又提高了用户体验。

三、写在最后

也许这就是为什么产品要懂点技术,当开发为了省事儿把所有的接口都做成同步调用,并告诉我迟迟收不到结果是因为网络延迟问题时,我就可以直接反问他,为什么不做成异步呢?

简单粗暴,理直气壮~果真是产品懂技术,谁也挡不住~

但是异步也不建议用到所有地方的,对于实时响应高的接口,还是要用同步的。

如果一个简单的实时数据查询接口,开发用了5s,那就赶紧让他优化提升性能吧,没条件可谈。

作者:郑多多;公众号:思考的郑多多(ID:zhengduoduo2022),专注于产品设计与个人成长。

本文由 @郑多多 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自 Unsplash,基于CC0协议

,