交互流是前端應用或者說產(chǎn)品中最核心的東西趴泌,它不會隨著前端技術(shù)的發(fā)展而改變,而且它也是公司內(nèi)多個團隊共同合作的交集。
什么是交互
網(wǎng)頁向用戶展示信息筒溃,然后在一些元素上監(jiān)聽事件,用戶通過一些行為觸發(fā)這些事件沾乘,然后網(wǎng)頁展示出更多的信息怜奖,這樣的過程就是交互。
多個交互串聯(lián)起來組成交互流翅阵,前端應用的功能就是通過不同的交互流來完成的歪玲。
前端技術(shù)在變迁央,但是前端應用的交互流并沒變。
交互是前端發(fā)展中不變的東西
在 jquery 時代滥崩,我們會通過 ajax 從服務端獲取數(shù)據(jù)岖圈,然后通過模版引擎渲染成 dom,從而在網(wǎng)頁上展示相應的信息給用戶钙皮,并且對一些元素綁定事件蜂科。
用戶通過一些行為觸發(fā)這些事件,然后網(wǎng)頁做 dom 的修改短条,進而展示更多的信息崇摄,也可能是異步的從服務端獲取數(shù)據(jù),然后再渲染成 dom慌烧。
到了 mvvm 時代逐抑,數(shù)據(jù)和 dom 是分離的,我們只需要通過 template 或者 jsx 等 DSL 來描述 dom 和數(shù)據(jù)的綁定關(guān)系屹蚊,然后只關(guān)心數(shù)據(jù)即可厕氨。
從服務端獲取數(shù)據(jù),前端框架就會自動的渲染出相應的 dom汹粤,展示相應的信息給用戶命斧,并綁定一些事件。然后用戶通過行為觸發(fā)這些事件嘱兼,網(wǎng)頁會做數(shù)據(jù)的改變進而改變視圖国葬,或者通過某個異步過程從服務端獲取數(shù)據(jù),然后再自動更新視圖芹壕。
可以看到汇四,mvvm 做的事情只是分離了數(shù)據(jù)和 dom,提高了開發(fā)效率和代碼的可維護性踢涌,但是前端應用的交互流并沒有變通孽。
前端技術(shù)在發(fā)展,變的是開發(fā)模式睁壁,不變的是交互流程背苦。
好的交互是怎么實現(xiàn)的
- 產(chǎn)品的交互設(shè)計的主要目的是為了促進產(chǎn)品核心邏輯的達成
- 就像電商產(chǎn)品,核心的目的就是讓用戶下單潘明,那就要通過圖片行剂、文字、視頻钳降、直播等多種形式全方位展示商品厚宰,并且把購買按鈕做的足夠大和醒目,引導用戶去下單牲阁。并且后續(xù)推薦的商品也要是用戶可能會感興趣的
- 整個交互流的設(shè)計是要貼合產(chǎn)品的核心功能的固阁,它也是多個團隊合作的結(jié)果:產(chǎn)品團隊負責整體布局和交互流程的設(shè)計,UI 團隊負責樣式城菊,算法團隊負責內(nèi)容的個性化推薦备燃,開發(fā)團隊負責把它們實現(xiàn),運營團隊負責內(nèi)容的維護和更新凌唬,增長團隊負責分析每一環(huán)的流量轉(zhuǎn)化率并齐,進而不斷優(yōu)化交互流。
交互客税,即用戶操作體驗
多個交互構(gòu)成的交互流就是產(chǎn)品的核心邏輯况褪,前端應用主要是要實現(xiàn)這個交互流,不管是 jquery 時代還是 mvvm 時代更耻,雖然開發(fā)模式在改變测垛,但前端應用的核心并沒有變。
交互流也是多個團隊共同合作的結(jié)果秧均,產(chǎn)品團隊食侮、設(shè)計團隊、算法團隊目胡、開發(fā)團隊锯七、運營團隊等,都是圍繞著這些交互流來達成產(chǎn)品的目的誉己,來優(yōu)化體驗眉尸。
理解了交互流,就能更好的理清前端應用的功能巨双,理清產(chǎn)品邏輯噪猾,也能更好的理清公司的商業(yè)邏輯和團隊的劃分。
評價應用軟件產(chǎn)品的第一要素就是產(chǎn)品的用戶體驗