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