當前位置:首頁 » 網頁前端 » we前端性能優化
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

we前端性能優化

發布時間: 2023-03-22 11:29:26

① WEB前端培訓課程需要學習哪些方面的技術

  1. 前端頁面重構

    內容包含了:(PC端網站布局項目、HTML5+CSS3基礎項目、WebApp頁面布局項目)

  2. JavaScript高級程序設計

    內容包含:(原生JavaScript交互功能開發項目、面向對象進階與 ES5/ES6應用項目、JavaScript工具庫自主研發項目)

  3. PC端全棧項目開發

    內容包含:(jQuery經典交互特效開發、HTTP協議、Ajax進階與PHP/JAVA開發項目、前端工程化與模塊化應用項目、PC端網站開發項目、PC端管理信息系統前端開發項目)

  4. 移動端項目開發

    內容包含:(Touch端項目、微信場景項目、應用 Angular+Ionic開發 WebApp項目、應用 Vue.js開發 WebApp項目、應用 React.js開發 WebApp項目)

  5. 混合(Hybrid,ReactNative)開發

    內容包含:(微信小程序開發、React Native、各類混合應用開發)

  6. NodeJS全棧開發

    內容包括:(WebApp後端系統開發、一、NodeJS基礎與NodeJS核心模塊二、Express三、noSQL資料庫)

  7. 大數據可視化

    內容包含:(大數據可視化化基礎與實戰、一、數據可視化入門、二、D3.js詳解、三、其他JS庫)

  8. 學習內容大家清楚之後,可以更好地學web前端課程,選擇試聽課程可以了解自己適不適合這門課程,也了解下機構老師的講課思維和方式,這樣也可以提高自己的學習狀態和方式。

② 前端性能優化之路——圖片篇。

本人是一名前端開發者,在公司負責目前負責信息流服務,為五大手機廠商和各大App提供服務,每天的請求就是以億計算,加上我們又做了SSP和DSP,就是類似於網路廣告聯盟,騰訊廣點通這種。接觸過的應該知道,所以前端優化一直是我頭痛的問題,不僅要注重用戶體驗,同時要兼顧收益,有時候必須犧牲一些用戶體驗,但是作為一名有思想的前端,還是努力規避掉,希望能和從事相同業務的同學一起學習交流一下,話不多說,就來分享我的性能優化之路,有什麼不對的知識點,麻煩大家指出批評。

yahoo軍規把大部分的前端優化都提到了,而在js優化這一塊如果有興趣的額,推薦大家去看《 高性能javascript 》,書里講的非常詳細。 https://segmentfault.com/a/1190000008481413

Media Queries 調用高清背景圖

通過 devicePixelRatio的值,就可以區分普通顯示屏和高清屏,當devicePixelRatio值等於1時(也就是最小值),那麼它普通顯示屏,當devicePixelRatio值大於1(通常是1.5、2.0),那麼它就是高清顯示屏。這時候我們可以讓UI准備2套圖片,甚至是3套圖片,不同像素的圖利用媒體查詢結合 devicePixelRatio 可以區分普通顯示屏和高清顯示屏,並給出了如下CSS設計方案:

也可以用less或者sass

如果省時間通用性高,就像我們是服務端用nginx對圖片進行處理,想要什麼樣尺寸的圖片自己裁切,我們提供了按比例縮放和自定尺寸的裁切方法,地址後拼接字元串就行。

與其他圖片格式相比,在肉眼無法分辨圖片質量差異的情況下,WebP的空間佔用是最小的,目前國內外各大互聯網公司都已經開始應用這一圖片格式。比如美團

想實現首先是判斷,即識別單次訪問的來源瀏覽器是否支持 webp 格式,其次是執行,如果該瀏覽器支持,則將原圖替換為 webp 格式,並返回。如果不支持,則顯示原格式圖片。 http://caniuse.mojijs.com/Home/Html/item/key/webp/index.html

在識別階段,我們有兩種方法:

1. Server 處理

只要有請求,服務端就能拿到你的User-Agent信息,通過對瀏覽器進行分類,支持webp放在白名單里,不支持的則為黑名單。判斷為白名單,則直接調用,返回webp格式圖片;反之,則顯示原圖。這種方式的優點在於,只需定期維護白名單即可,邏輯簡單;缺點則在於不可擴展、不可測試、UA判斷會出現不準確的情況。

Server處理中的另一種方式是通過讀取 JavaScript 種下的 cookie來實現判斷。這種方式的優點是表現穩定,訪問速度更快,切換無壓力。但缺點是,頁面靜態化會導致用戶切換瀏覽器時不能自主更新,圖片服務失效。比如用戶用支持webp的瀏覽器A請求頁面,這時緩存的靜態頁面均使用webp圖片,但當該用戶使用不支持webp的瀏覽器B時,訪問網頁則會出現請求不到圖片的報錯。

Client 處理,是美團雲為美團主站提供的處理方式。在這種處理方式中,瀏覽器端發送的beacon webp 請求後,通過檢測其載入情況來判定 webp 支持情況,然後瀏覽器寫一個cookie。之後通過讀取瀏覽器cookie判斷是否支持webp,就可以進行下一步替換操作了。

2.替換圖片過程中也是有兩種處理方式:

在 server 端處理的優點是對下游開發者透明,缺點是靜態頁面的緩存數量會翻倍。

替換方式如下:

在 client 端處理可以比較好地應對頁面靜態化的情況,主要針對懶載入(非首屏)的圖片進行處理,直接通過修改懶載入器來實現。
對非懶載入的圖片暫時沒有特別好的辦法。目前,可用替換路徑的方式來處理。

Client 處理實際上效果也是不錯的,美團頁面里90%以上的圖片都是懶載入的,基本上都可以滿足需求。對於大多數用戶來說,採用Client 處理實現webp轉換是個不錯的選擇。

既然提到圖片這一塊,我有忍不住想扯寫些題外的tracking Pixel(像素追蹤),幾乎所有網站都會做數據的採集,上報統計。特別是我們做SSP、DSP廣告這塊需要獲取例如

數據永遠說的是實話,數據證明一切可能。如facebook廣告投放的跨境電商朋友都會使用facebook Pixel(像素追蹤)以獲得各環節的精準數據。這樣追蹤數據後,我們才能投放廣告後銷量上去了,哪個才是效果最好的,哪個效果不好,進而通過多個數據對比,對廣告進行合理的調整優化。

國內搜狗、網路、360、新浪都是用這種 tracking Pixel 方法,實際就是利用1px 的圖片,在圖片地址後綴拼接你需要的信息參數,瀏覽器在請求任何資源的時候會發送當前系統的數據,比如瀏覽器信息,操作系統信息,作為http請求頭送過去,他們就能統計了。

為什麼不用js請求統計?

並不是所有的頁面都支持JS的!NoJSStats的實現機制就是網站分析中點擊流數據獲取的方式之一——Web Beacons,即在頁面中嵌入一個1像素的透明圖片,當該頁面被瀏覽時,圖片就會被請求載入,於是在後端的伺服器日誌中就會記錄該圖片的請求日誌,這樣就可以獲得日誌記錄。

例如網路:

本文引用@美團雲 提供的webP方法,感謝。

③ web前端開發都需要學什麼

如果你是0基礎學習web前端的話,你需要從基礎開始,由淺入深,循序漸進。
首先,學習Web前端基礎知識HTML5+CSS3、JS交互設計,這兩部分內容是Web初級前端開發工程師需要掌握的;
其次,學習Node開發、前端框架,這兩部分內容是Web前端中級開發工程師、全棧開發工程師、Vue中高級開發工程師、React初級開發工程師需要掌握的;
最後,學習小程序+數據可視化,這部分內容學習完成是全棧開發工程師、小程序開發工程師、數據可視化開發工程師需要掌握的。
除了理論知識,更重要的是實操項目,將理論技術點運用到實踐中,這樣才能達到學以致用!

④ web前端開發工程師需要掌握哪些技術

第一階段:Web基礎
1.HTML
知識要點:web工作原理、HTML4及HTML5、常見標簽、相對路徑與絕對路徑、HTML5標簽
2.CSS+布局
知識要點:CSS基本語法、基本選擇器、復合選擇器、背景圖片、盒子模型、精靈圖、常見網頁布局、浮動定位、Flex布局、響應式布局、移動端適配、網頁動畫、CSS3新特性、Less預處理器
第二階段:JavaScript
3.ECMA基礎
知識要點:ECMA基本語法、數據類型、運算符、分支結構、循環結構、函數、常見內置對象的屬性和方法、Array、Math、Date、String
4.DOM
知識要點:DOM模型、節點類型、節點的基本操作、JS操作樣式表、克隆節點、獲取坐標位置、獲取元素尺寸、節點的各種屬性和方法。
5.BOM+jQuery
知識要點:History、Location、Navigate、定時器、線程、事件循環、web工作原理、性能優化、事件對象、正則表達式、jQuery框架
第三階段:企業級框架
6.vue框架基本語法
知識要點:vue基本語法、雙向綁定、組件傳值、條件渲染、列表渲染、事件處理、表單綁定、自定義事件、插槽、過渡、動畫、動態路由、嵌套路由、編程式導航、導航守衛、路由懶載入、腳手架、生命周期、vuex、axios、ts、vue3
7.vue案例
知識要點:將知識點融會貫通到案例中。
8.react基本語法
知識要點:react簡介、jsx語法、元素渲染、組件和props、state、生命周期、表單、條件渲染、組合繼承、hooks、性能優化、rex
9.react案例
知識要點:將知識點融會貫通到案例中
新增內容:微信小程序及uni-app框架
知識要點:
小程序框架(配置/程序與頁面注冊/路由),開發者工具
小程序框架組件學習(基礎/視圖/表單/地圖/媒體/導航/開發能力)
小程序框架組件學習(地圖/媒體/導航/開發能力)
小程序API(基礎/路由/界面/網路/數據緩存/位置服務)
小程序API(設備/媒體/開放介面/授權/登錄/支付)
第四階段:前端全棧
10.Node伺服器與資料庫及框架
知識要點:Node原生模塊、跨域、安全校驗、數據加密、資料庫基本操作、express框架、koa框架
11.Node 項目周/WebPack
知識要點:需求、效果圖、編碼