業(yè)務(wù)場景
在App里面失息,輸入一個關(guān)鍵詞,得到一個搜索結(jié)果袒啼,這是一個很常見的一個功能場景年叮。對于前端而言具被,有很多事情可以嘗試和實踐。
優(yōu)化方案
1. 首屏服務(wù)端渲染
第一頁可以使用服務(wù)端渲染只损,減少頁面的請求量一姿,可快速渲染
方案一:node+ejs
適用的場景:頁面的復雜度低,不存在大量的組件或者模塊間信息的同步改执。
方案二:node+vue+vuex
適用的場景:頁面的復雜程度高啸蜜,含有大量的組件和組件間的信息流通或者同步。使用node+vue+vuex辈挂,方便團隊成員間的協(xié)作開發(fā)和后期維護。
2. 預先加載數(shù)據(jù):接下來幾屏數(shù)據(jù)
業(yè)務(wù)場景:搜索出來的結(jié)果裹粤,滑動時终蒂,顯示更多的結(jié)果
方案一:請求第一屏幕的數(shù)據(jù)時,同時也會預請求第二屏幕的據(jù)遥诉,以此類推拇泣。滑動頁面的時候矮锈,就不會存在卡頓的情況
方案二:讓客戶端提前預取數(shù)據(jù)霉翔,預取的時機可以根據(jù)自己的業(yè)務(wù)場景判斷
3. 共享數(shù)據(jù):
業(yè)務(wù)場景:搜索結(jié)果頁面,點擊每一個Item苞笨,可以進入詳情頁面债朵。
方案:一級頁面和二級頁面可以進子眶,行共享數(shù)據(jù)
4. 客戶端提前預取通用庫
前端一般都會使用一些通用庫,一般情況都不會改變序芦,比如說zepto.js臭杰,可以讓客戶端提前預取緩存
5. 服務(wù)端推送包
服務(wù)端推送相關(guān)的信息包
后記
嘗試使用http2.0