<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          飛書前端:前端性能優(yōu)化4大環(huán)節(jié)最佳實踐

          共 2290字,需瀏覽 5分鐘

           ·

          2022-01-16 01:38

          大型項目發(fā)展到一個階段都繞不開性能優(yōu)化,高性能是高品質(zhì)產(chǎn)品的重要特征。如何你是研發(fā)同學,你會關心如何入手優(yōu)化,優(yōu)化的鏈路都有哪些環(huán)節(jié);如何你是Team Leader,你一定很關心用什么易于執(zhí)行,易于驗證的研發(fā)流程,來指導前端團隊交付高性能的產(chǎn)品,并確保產(chǎn)品的性能始終是健康的、可持續(xù)的。

          本文我們將介紹前端優(yōu)化鏈路的全景圖和可持續(xù)的性能優(yōu)先研發(fā)流程。

          性能指標

          性能優(yōu)化的第一步是要定義好指標,指標能幫助我們衡量優(yōu)化結果的好壞,是指導我們?nèi)绾芜M一步優(yōu)化的標準。

          如何定義指標

          有幾個途徑可以定義出合理的指標:

          對齊業(yè)界標準指標:適合一些常見的指標,比如 TTI < 4s。對齊競品的指標:競品是最好的老師,調(diào)研發(fā)現(xiàn)我們和競品的差距,優(yōu)化到競品的標準就是進步。根據(jù)業(yè)務的數(shù)據(jù)來定指標:當我們的業(yè)務比較特殊,或者我們需要更高的標準,而又沒有競品可以參考時,我們可以先分析上報數(shù)據(jù),根據(jù)數(shù)據(jù)的平均值來求一個合理的值,比如 指標值=平均值/2。

          常見指標

          來自 web.dev

          前端如何計算并收集上報這些指標,是另一個話題了,可以關注我們的公眾號,后續(xù)會發(fā)布《端體驗優(yōu)化之全鏈路監(jiān)控》的相關文章。

          優(yōu)化鏈路

          前端性能優(yōu)化有很多維度,我們可以歸類為幾個環(huán)節(jié):構建環(huán)節(jié)、網(wǎng)絡環(huán)節(jié)、渲染環(huán)節(jié)、應用環(huán)節(jié)。當這幾個環(huán)節(jié)實現(xiàn)全流程優(yōu)化時,性能可以達到更優(yōu)的表現(xiàn)。而每個環(huán)節(jié)都有各自的優(yōu)化手段,下面我們就介紹這幾個環(huán)節(jié)的優(yōu)化最佳實踐和案例。(篇幅有限,我們還有很多的優(yōu)化案例比如 飛書前端項目打包時間優(yōu)化,SSR,MPA專項,HTTP3升級等等,后續(xù)后會以單獨的文章發(fā)出~)

          構建環(huán)節(jié)優(yōu)化

          架構升級也是性能優(yōu)化的重要手段,需要構建環(huán)節(jié)支撐,比如支持 SPA 構建,支持 MPA 構建,支持微前端構建。工欲善其事,必先利其器,優(yōu)化構建時間縮短能大幅度提升研發(fā)體驗,為快速驗證性能優(yōu)化結果做好準備。構建系統(tǒng)優(yōu)化能提升研發(fā)效率,是個很大的話題,我們就提一些通用的思路。

          最佳實踐

          網(wǎng)絡環(huán)節(jié)優(yōu)化

          通常網(wǎng)頁加載超過4s還沒看到東西,用戶就感知到慢了,大于 10s 會放棄等待。網(wǎng)絡優(yōu)化若能升級網(wǎng)絡協(xié)議,會得到質(zhì)的提升,比如升級到 HTTP2.0 支持并行下載。Chrome 已經(jīng)支持 HTTP3.0(默認關閉),底層基于 UDP,自家的網(wǎng)頁應用直接享受 0-RTT。現(xiàn)在網(wǎng)頁應用光加載靜態(tài)資源的體積動不動就 幾MB到 十幾 MB,光靠升級服務和協(xié)議是不夠的,前端也需要很多優(yōu)化策略,比如采用服務端渲染、升級架構。

          最佳實踐

          「性能優(yōu)化鏈路之網(wǎng)絡環(huán)節(jié) 」

          渲染環(huán)節(jié)優(yōu)化

          渲染優(yōu)化保障是用戶體驗的流暢性的重要環(huán)節(jié),而且渲染性能會影響內(nèi)存和 CPU 的持續(xù)占有。通常我們認為的流暢是指幀數(shù)達到 60FPS 或穩(wěn)定 30PFS,瀏覽器繪制一幀一般需要 10ms,用戶在操作過程中有響應延時的時間不同用戶體驗也不同:

          最佳實踐

          「性能優(yōu)化鏈路之渲染環(huán)節(jié) 」

          應用環(huán)節(jié)優(yōu)化

          再好的網(wǎng)絡環(huán)境也比不上離線加載的速度,無論是加載速度還是交互流暢性,前端其實一直在追趕原生的體驗。主要圍繞著離線優(yōu)化、熱更和跨端渲染框架。

          最佳實踐

          「性能優(yōu)化鏈路之應用環(huán)節(jié) 」

          PFDL - 性能優(yōu)先研發(fā)流程

          性能優(yōu)先研發(fā)流程(Performance First Development Lifecycle,簡稱 PFDL)。PFDL 專注于性能,以較小的成本影響現(xiàn)有研發(fā)流程,提升產(chǎn)品整體性能的水準,交付高質(zhì)量的產(chǎn)品體驗為目標。

          PFDL 分為以下部分:新人培訓,性能評估,檢測和自動化,監(jiān)控和驗證。

          「PFDL - 性能優(yōu)先研發(fā)流程 」

          性能培訓

          開發(fā)團隊不斷有新人加入,性能優(yōu)先必須深入人心,那么培訓是必不可少的。培訓的內(nèi)容包括高性能編碼最佳實踐,性能分析最佳實踐等。培訓講師,可來自團隊經(jīng)驗豐富的研發(fā)人員,也可請業(yè)界大牛,甚至網(wǎng)絡上優(yōu)質(zhì)付費/免費資源。培訓將是周期性進行的,系統(tǒng)化的,內(nèi)容覆蓋全面的。

          性能評估

          以用戶體驗為中心,定義出關鍵指標標準,可以借鑒 Google 的 RAIL 模型/Web Vitals,對比競品,現(xiàn)有產(chǎn)品的性能進行評估:可交互時間,CPU 占用率,內(nèi)存占用率,流暢度等。應該在各個環(huán)節(jié)加入性能評估,包括產(chǎn)品需求環(huán)節(jié),UX/UI 設計環(huán)節(jié),技術方案環(huán)節(jié),編碼環(huán)節(jié),Code Review 環(huán)節(jié),QA/E2E 環(huán)節(jié)等。對性能 issue 需要優(yōu)先級的評估:P0/P1/P2。

          檢測和自動化

          我們需要更多工具,能幫助我們更高效檢測出性能的問題,能自動優(yōu)化代碼的性能。我們需要網(wǎng)羅或設計開發(fā)這些工具,這些工具盡可能的做到相互關聯(lián),相互輔助,并可流程化,盡可能的自動化。

          監(jiān)控和驗證

          監(jiān)控數(shù)據(jù)如何反應接近真實的用戶體驗始終是個難點,定義規(guī)范的日志,建設有效的面板,使用強大的工具,能幫助我們主動關注產(chǎn)品的質(zhì)量提前采取優(yōu)化行動,同時更有效的在海量日志中追蹤性能問題 Root Cause,快速定位問題直到修復。

          關于本公眾號

          我們是字節(jié)跳動飛書文檔團隊,致力于打造全球最領先的文檔類創(chuàng)作和內(nèi)容管理工具。飛書文檔匯集了在線文檔、表格、思維筆記等在線創(chuàng)作工具,并提供安全、強大的云端存儲、內(nèi)容管理和知識庫,對文檔、表格和文件都可以靈活設置瀏覽、編輯、評論、分享等權限,讓團隊協(xié)同既高效,又安全。?我們會定期分享前端技術和業(yè)務實踐,歡迎關注~


          瀏覽 206
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色逼成人综合一二三区 | 操比一区二区三区 | 97黑人强奸韩日制服丝袜免费视频 | 日本免费看A片 | 精品国产成人a在线观看 |