這個小小的技術(shù)點(diǎn),幫你優(yōu)化用戶體驗(yàn)
編輯導(dǎo)語:互聯(lián)網(wǎng)用戶增長的逐步放緩,讓用戶增量變得越來越難。面對瞬息萬變的移動互聯(lián)網(wǎng)市場,企業(yè)應(yīng)該如何制定用戶運(yùn)營策略,從而幫助企業(yè)更好地?fù)P長避短。本文作者分享了不同接口調(diào)用方式對產(chǎn)品設(shè)計和用戶體驗(yàn)的效果影響,我們一起來看看吧。
在產(chǎn)品的開發(fā)過程中,我們都應(yīng)該聽過「接口」這個詞,如果沒聽過,我建議你先去補(bǔ)下接口的相關(guān)知識再來看這篇文章,比如什么是接口、什么時候會用到接口、以及誰會用接口。至于怎么用,那是開發(fā)小哥哥的工作,不需要研究太深,也不是本文要討論的重點(diǎn)。
在軟件開發(fā)中,最常見的一個場景就是前端與后端進(jìn)行接口調(diào)用,今天我們就來說下不同的接口調(diào)用方式對產(chǎn)品設(shè)計和用戶體驗(yàn)的效果影響。
一、接口調(diào)用的方式有哪些
首先,我們先來看下接口調(diào)用方式的分類,這里先舉個栗子。
比如疫情在家辦工,我們和業(yè)務(wù)需要溝通需求。
如果用電話的方式溝通,當(dāng)你問出一個問題后,需要一直在線等待他給你回應(yīng)才算溝通結(jié)束。
這種就是同步。
如果用微信信息的方式溝通,當(dāng)你問出一個問題后,不需要在聊天頁面等他回復(fù),你可以繼續(xù)切換窗口和別人聊天,不管多久,等他回復(fù)你消息后,你都會即時收到消息提醒。
這種就是異步。
所以,和溝通相似,接口調(diào)用的方式分為同步調(diào)用和異步調(diào)用。
同步調(diào)用是最常見的接口調(diào)用形式,在同步調(diào)用模式下,接口的調(diào)用方在一定時間范圍內(nèi)一直等待,直到被調(diào)用方返回執(zhí)行結(jié)果。
異步調(diào)用是接口調(diào)用方給被調(diào)用方發(fā)出指令,但不會愣在那等待結(jié)果,調(diào)用方會給被調(diào)用方提供一個回調(diào)接口,處理完成后,再調(diào)用回調(diào)接口返回結(jié)果。
在這里我們不考慮通信的底層協(xié)議是什么,只單純的考慮場景,電話溝通就是同步,信息溝通就是異步。
所以在接口通信時,不能即時響應(yīng)的工作就可以考慮采用異步調(diào)用的方式。
二、異步調(diào)用的產(chǎn)品設(shè)計應(yīng)用
在產(chǎn)品設(shè)計過程中,我們會遇到很多需要等待時間的場景,比如上傳、下載、導(dǎo)出等,這時如果接口選擇同步調(diào)用,就會一直停在當(dāng)前頁面等待接口返回結(jié)果才能進(jìn)行下一步。
在這里用一個工作中的實(shí)際案例來說明我是如何用異步調(diào)用優(yōu)化用戶體驗(yàn)的。
我之前公司所在的行業(yè)是物聯(lián)網(wǎng),所有的前端操作都是基于業(yè)務(wù)平臺和硬件通信去完成的,硬件數(shù)據(jù)采集后會直接存入數(shù)據(jù)庫,供業(yè)務(wù)服務(wù)調(diào)用,同時也會向硬件發(fā)送一些控制命令,我這里以控制命令來舉例。
因?yàn)橛布推脚_的通信依靠移動網(wǎng)絡(luò),所以有時會產(chǎn)生收發(fā)命令延遲的問題,整個發(fā)送到接收回復(fù)的一次完整通信時間有時會需要超過5s,如果用戶在網(wǎng)絡(luò)不好的情況下點(diǎn)擊發(fā)送命令,就需要等待很長的時間才能收到執(zhí)行成功或者失敗的結(jié)果通知。
考慮到網(wǎng)絡(luò)延遲情況,收發(fā)命令的接口就特別適用異步調(diào)用模式。
首先點(diǎn)擊頁面上的“發(fā)送命令”,頁面提示“命令已發(fā)送,請耐心等待”。這時前端就不需要一直等待后端接口的返回了,用戶可以去做其他操作。
當(dāng)后端接口有執(zhí)行結(jié)果返回時,前端會實(shí)時接收到通知,并將結(jié)果推送到頁面上通知用戶,這樣做既完成了命令的收發(fā)又提高了用戶體驗(yàn)。
三、寫在最后
也許這就是為什么產(chǎn)品要懂點(diǎn)技術(shù),當(dāng)開發(fā)為了省事兒把所有的接口都做成同步調(diào)用,并告訴我遲遲收不到結(jié)果是因?yàn)榫W(wǎng)絡(luò)延遲問題時,我就可以直接反問他,為什么不做成異步呢?
簡單粗暴,理直氣壯~果真是產(chǎn)品懂技術(shù),誰也擋不住~
但是異步也不建議用到所有地方的,對于實(shí)時響應(yīng)高的接口,還是要用同步的。
如果一個簡單的實(shí)時數(shù)據(jù)查詢接口,開發(fā)用了5s,那就趕緊讓他優(yōu)化提升性能吧,沒條件可談。
作者:鄭多多;公眾號:思考的鄭多多(ID:zhengduoduo2022),專注于產(chǎn)品設(shè)計與個人成長。
本文由 @鄭多多 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議
學(xué)到了,那看來還是異步調(diào)用模式更能能提高用戶體驗(yàn),下次有機(jī)會和開發(fā)小哥討論一下嘿嘿
這個得看業(yè)務(wù)場景需求吧
哈哈哈哈昨天看到說產(chǎn)品要會演講,今天看到說要會技術(shù),明天還不知道要會什么