提高前端性能


梳理:提高前端性能方面的處理以及不足

一、清明時節雨紛紛

明兒個清明節了,也是我在現在公司三年合同到期的時間,本來計劃換個地方的,無奈面試智商低、個性不收斂、略顯隨性,面了兩家上海心儀公司,都在最後被拒了。我跟總監說了這事,他說我是挺虧的(畢竟不是因爲技術能力不足被拒),他建議我把棱角再磨掉些。要磨嗎

先不說這個,畢竟我還年輕,機會還會有,所以當作擴展眼界、自我學習的好機會。return;

面試時候,有被提問網站性能優化的問題。被問到這個問題的時候,第一反應是,這是我自認爲做的不錯的地方、我做了很多優化,於是撲面而來很多信息,但由於之前沒有系統梳理過,很多非常基本的都漏了(可能潛意識覺得這是常識,沒什麼好說的),其他的技術點也有些亂,我自己覺得是糟糕的回答。

於是,纔有今天這篇文章,自己梳理下,順便跟大家交流交流。//zxx: 本文所述的優化以及問題都可以從訂餐小祕書上找到。

二、最最基本的

  • CSS頂部, JS底部
  • YUI compressor/Gzip
  • CDN 有
  • 必要的CSS Sprite
  • Ajax可緩存

以上沒什麼好說的。

三、CSS渲染、頁面重繪以及迴流

四、降低靜態資源請求數

  • 開始提到的CSS sprite,目前因降低後期維護成本,sprite的規模有所降低
  • 字符與圖形生成,如: 該圖效果之前有介紹
  • CSS圖形生成,如三角
  • CSS模擬,如幾像素的投影效果
  • CSS3技術,例如漸變效果CSS3 gradient+filter投影效果CSS3 box-shadow+filter blur。
    IE7瀏覽器下濾鏡實現的按鈕投影效果
  • base64 url技術,例如虛點效果:

五、資源的複用

  • 團隊CSS樣式庫,快速構建網站 – Bootstrap有點類似我們這個味道,.span1,.span2,.span3,.span4,.span4,...
  • 高寬自適應 – 無論選項卡、按鈕等還是各個大小模塊都是高寬自適應的,以適用於各種環境、需求
    高寬自適應按鈕
  • CSS3 font-face技術 – 純色圖標大小以及顏色可以隨意控制,增強複用
    CSS3 font-face應用截圖 張鑫旭-鑫空間-鑫生活 CSS3 font-face應用截圖 張鑫旭-鑫空間-鑫生活

六、js/HTML交互相關

七、瀏覽器自身的潛力

  • ol列表的數字、table的自適應性
  • <strong><h1-6>粗體效果
  • form相關特性,元素自身特性實現submit以及reset等效果
  • HTML5 placeholder以及其他N多現代瀏覽器支持特性等

八、問題所在

  • 沒有模塊加載機制,20個模塊腳本參雜在一起,一個頁面可能只使用了4個。
  • 圖片的拉伸很常見
  • 各種廣告跟蹤代碼,把網站前端性能拉低了一個等級。
  • HTML沒有頂邊顯示,去除冗餘空白字符以及註釋,因此HTML頁面大小未優化。不難,程序那邊一直沒做相關處理。
    每行HTML置前顯示
  • 頭部無用的一段專爲IE6的script輸出,之前曾做過處理,只IE6輸出的,後來因爲不同城市不同站等原因,後臺那邊懶得折騰了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章