自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊前端和后臺(tái)的數(shù)據(jù)交互與協(xié)議

移動(dòng)開發(fā) Android
目前,除了一些特別簡(jiǎn)單非聯(lián)網(wǎng)類應(yīng)用(比如計(jì)算器、鬧鐘等),幾乎所有的應(yīng)用均是聯(lián)網(wǎng)應(yīng)用(比如新聞客戶端,微信等等),這些 app 客戶端基本都只是負(fù)責(zé)用戶的交互與數(shù)據(jù)收集與展示,真正的數(shù)據(jù)和服務(wù)均存儲(chǔ)在云端。
[[161047]]

目前,除了一些特別簡(jiǎn)單非聯(lián)網(wǎng)類應(yīng)用(比如計(jì)算器、鬧鐘等),幾乎所有的應(yīng)用均是聯(lián)網(wǎng)應(yīng)用(比如新聞客戶端,微信等等),這些 app 客戶端基本都只是負(fù)責(zé)用戶的交互與數(shù)據(jù)收集與展示,真正的數(shù)據(jù)和服務(wù)均存儲(chǔ)在云端。

那移動(dòng)端究竟如何和后臺(tái)來交換數(shù)據(jù)并展示呢?我們打個(gè)比喻,其實(shí)整個(gè)過程跟去燒烤店兒擼串一樣一樣的。

拿任意一個(gè)新聞客戶端舉例,當(dāng)用戶刷新的那一刻(你萌生了吃燒烤的想法),客戶端開始組織數(shù)據(jù)請(qǐng)求(你開始穿衣洗臉打扮,并思考該去哪一家吃呢),當(dāng)用戶界面開始展示 loading 的時(shí)候(這個(gè)時(shí)候你正走在 “馬大姐燒烤店” 的路上),經(jīng)過幾百毫秒的時(shí)間,這個(gè)時(shí)候請(qǐng)求數(shù)據(jù)已經(jīng)到了服務(wù)器(你已經(jīng)坐在了馬大姐燒烤店的桌子上),服務(wù)器開始查看客戶端想要請(qǐng)求哪方面的數(shù)據(jù),是請(qǐng)求財(cái)經(jīng)頻道的,還是請(qǐng)求汽車頻道的數(shù)據(jù)(服務(wù)員遞來了菜單,問你想吃啥),服務(wù)器看懂了客戶端的想法開始準(zhǔn)備數(shù)據(jù)(你點(diǎn)了 20 個(gè)肉串,10 個(gè)大腰子),服務(wù)器看到你請(qǐng)求的是汽車頻道和財(cái)經(jīng)頻道的數(shù)據(jù)(光著膀子的烤串師傅開始烤這 20 個(gè)串和 10 個(gè)大腰子),并給回到服務(wù)員,服務(wù)員一路小跑,將你要的串和腰子遞到你的面前,這個(gè)時(shí)候相當(dāng)于數(shù)據(jù)已經(jīng)傳回到了客戶端,客戶端 loading 消失,你看到了最新的兩個(gè)頻道的數(shù)據(jù)。

那客戶端和服務(wù)器之間傳輸數(shù)據(jù)的格式是怎么樣的呢?

現(xiàn)在流行的做法通常有兩種,一種是類似于 PB(Protocol Buffer,Google 定義的一個(gè)數(shù)據(jù)傳輸協(xié)議,以簡(jiǎn)潔,省流,易用出名)的二進(jìn)制數(shù)據(jù)(二進(jìn)制數(shù)據(jù)的意思就是你打開這個(gè)文件你只能看到 0 和 1 組成的數(shù)字串,是沒辦法和你生活中任何認(rèn)識(shí)的字母聯(lián)系在一起的)傳輸,這種格式的好處是包小,重復(fù)的字段會(huì)被節(jié)省。另一種是 JSON(JavaScriptObject Notation),這也是一種輕量級(jí)的數(shù)據(jù)傳輸格式,就是用一堆中括號(hào)把數(shù)據(jù)組織起來,不像二進(jìn)制,這種格式是人可讀的,并且比較輕巧,所以也有大量的應(yīng)用場(chǎng)景。下面這段數(shù)據(jù)就是 JSON 格式,簡(jiǎn)單解讀一下,就是 people 對(duì)應(yīng)了三個(gè)人,三個(gè)人分別是中括號(hào)間的三個(gè)花括號(hào)中的人。

聊聊前端和后臺(tái)的數(shù)據(jù)交互與協(xié)議

總結(jié)起來,十分簡(jiǎn)單,移動(dòng)端提出需求,服務(wù)器按要求組織好數(shù)據(jù)發(fā)給你,針對(duì)不同的格式,移動(dòng)端自己解析,展示,完活兒。其實(shí),不止移動(dòng)端,前端網(wǎng)頁和后臺(tái),后臺(tái)和后臺(tái)之間也是這個(gè)道理。至于在傳輸?shù)倪^程中都經(jīng)歷了什么,我們找機(jī)會(huì)再細(xì)聊。

 

責(zé)任編輯:李英杰 來源: 36氪
相關(guān)推薦

2022-03-18 08:57:17

前端數(shù)據(jù)流選型

2010-06-21 14:09:33

Bittorrent協(xié)

2021-10-07 23:29:47

前端應(yīng)用交互流

2023-02-03 10:08:13

前端存儲(chǔ)庫(kù)存儲(chǔ)配額

2021-06-18 11:37:28

人工智能交互設(shè)計(jì)人機(jī)交互

2020-05-09 14:40:29

UI設(shè)計(jì)開發(fā)

2022-04-07 11:43:24

UPnPDLNA協(xié)議

2021-07-05 09:40:25

iSCSI存儲(chǔ)協(xié)議以太網(wǎng)

2022-03-18 10:43:12

WebSocketHTML5TCP 連接

2010-06-28 10:35:18

Bittorrent協(xié)

2022-05-23 08:34:08

微前端微服務(wù)開發(fā)

2021-07-11 06:46:17

前端設(shè)計(jì)模式

2024-03-27 07:58:23

開源軟件MongoDB

2022-09-28 11:09:38

自動(dòng)化產(chǎn)品工業(yè)協(xié)議

2019-04-08 15:11:12

HTTP協(xié)議Web

2024-01-01 08:19:32

模式History前端

2022-04-14 12:24:20

大數(shù)據(jù)現(xiàn)狀分類

2009-06-30 15:05:52

JSP數(shù)據(jù)JavaScript數(shù)

2022-02-21 09:58:31

包管理器npmyarn

2022-06-27 08:59:21

數(shù)據(jù)包TCP/IP協(xié)議棧
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)