使用UI預覽提升頁面感知速度
作為一個前端工程師,我們都知道頁面的速度對產品業務的發展至關重要,在日常工作中我們除了完成業務邏輯之外,也在持續的優化前端頁面的速度。但我們往往從載入速度和渲染速度這兩個方面著手,而忽略了感知速度的提升,本文我們就來探討一下如何從感知速度著手提升前端頁面的感知速度。
1.UI預覽
對於常見的前後端分離專案,一般的工作流程是:
1. 頁面JS請求後端介面
2. 後端介面返回JSON資料
3. 前端模板引擎根據JSON資料和預設模板輸出最終的HTML片段
4. 前端模板引擎將HTML片段插入DOM中,瀏覽器重新區域性渲染,顯示最終結果
而從第1步到第4步之間,我們往往使用一個載入條,來提示使用者繼續等待。本質上,在這期間UI對使用者不可見(UI是阻塞的),給使用者的感覺就是頁面較慢,而UI預覽就可以從這裡介入從而提升使用者感知速度。
在使用一些知名網站時,我們經常會看到UI預覽,比如新浪微博的文章,在文章主體載入完成之前提前給出頁面的基本佈局:
facebook在資訊流載入完成之前,也會給出UI預覽:
2.UI預覽的實現方式
UI預覽的實現方式主要有兩種,一種就是偽UI預覽,另一種是真實UI預覽。
(1).偽UI預覽
偽UI預覽的應用場景較為有限,需要提前人工寫好需要預覽的UI的佈局和樣式,因此其只能適用於UI較為簡單的場景。facbook的每一條feed的佈局都非常相似,它使用的就是偽UI預覽,在真實feed載入完成之前,先顯示UI預覽,當真實feed載入完成後,隱藏UI預覽,顯示真實feed內容。比如下圖是一條feed的UI預覽:
(2).真實UI預覽
真實UI預覽實現起來較為複雜,但是其適用場景較為也更為廣泛。一種實現真實UI預覽的方案是,通過真實測試資料生成真實UI預覽,當然這裡對測試資料有一定的要求:
(1)文字用空格代替
(2)影像用預設影像代替
真實UI預覽的生成可以通過構建工具完成,比如grunt、gulp、fis等。當真實資料獲取成功時,即可隱藏UI預覽,顯示真實使用者頁面。
UI預覽可以極大的提升使用者的感知速度,使網站留住更多使用者。雖然在網速較好的情況下,其作用有限,但卻不失為錦上添花之舉。
參考資料
https://dribbble.com/shots/2138907-Non-Blocking-Settings-Page-UI
http://www.callumhart.com/blog/non-blocking-uis-with-interface-previews
本文同時發表在我的部落格積木村の研究所 :http://foio.github.io/ui-preview/
相關文章
- 前端優化:DNS預解析提升頁面速度前端優化DNS
- VS Code在瀏覽器預覽HTML頁面瀏覽器HTML
- 如何通過預載入器提升網頁載入速度網頁
- ArkWeb頁面預載入與快取 - 提升使用者體驗Web快取
- 使用XML和Java混合控制UI頁面XMLJavaUI
- 【效能優化實踐】優化打包策略提升頁面載入速度優化
- ui自動化測試,頁面方法的使用UI
- react頁面中遮蔽瀏覽器預設右鍵事件React瀏覽器事件
- Effective前端--加快頁面開啟速度前端
- web前端頁面點選預覽圖片及大小縮放Web前端
- 2013年瀏覽器大戰:黑莓5.0瀏覽器頁面載入速度最快–資訊圖瀏覽器
- ModernUI教程:使用預定義的頁面佈局UI
- vue-cli多頁面應用實踐,實現元件預覽Vue元件
- 預設瀏覽器設定及vue自動開啟頁面瀏覽器Vue
- 提升PHP速度PHP
- 瀏覽器訪問網頁速度慢瀏覽器網頁
- element-ui的彈窗上使用btn會重新整理頁面UI
- 提升開發體驗,預覽 VirtualViewView
- 瀏覽器頁面渲染機制瀏覽器
- 瀏覽器彈出小頁面瀏覽器
- 10種優化頁面載入速度的方法優化
- 提升現代web app中的頁面效能WebAPP
- 30個支付頁面UI設計欣賞UI
- OpenHarmony頁面級UI狀態儲存:LocalStorageUI
- iOS 預載入 Web 頁面方案iOSWeb
- C# 開源瀏覽器效能提升,體驗Chrome級速度C#瀏覽器Chrome
- instant.page:提高網站頁面載入速度網站
- 谷歌瀏覽器頁面放大縮小谷歌瀏覽器
- 瀏覽器頁面載入過程瀏覽器
- safari瀏覽網頁開啟速度很慢如何解決網頁
- 如何提升網站速度網站
- 提升html訪問速度HTML
- Android:一個實用的WebView瀏覽頁面,可直接使用AndroidWebView
- Vue+Element-ui建立一個登陸頁面VueUI
- vue+element-ui中獲取頁面資料VueUI
- 用jQuery-Easy-UI編寫註冊頁面jQueryUI
- nginx設定預設訪問頁面Nginx
- 使用 happypack 提升 Webpack 專案構建速度APPWeb