我是做前端+php的,我來說說目前工作中能用到的網站
1、w3school
入門級的一個網站,說他是網站不如說他是個工具書,用到的時候查一下,一般不怎么看
2、寧皓網
這是一個個人維護的視頻教程網站,全部都是站長一個人錄制的,聲音略帶磁性,很舒服,教程前后有關聯,整體上是一個開發行業的知識體系框架,質量很不錯,就是內容有點淺,不夠深入
3、慕課網
絕對推薦,做開發的好網站,尤其是實戰欄目,全部是一線互聯網公司的工程師錄制的教程,每一個教程都是一個完整的項目,而且內容很新,兩個月前剛出的新框架,馬上教程就有了
4、laravel-china
laravel框架的中文論壇,以laravel為主,沒有遍地的小白,全是高質量的內容。學laravel的必須看,學php的也得看,這個站培養的是你良好的編碼規范和怎樣利用開源代碼,避免閉門造車。
提起Web前端性能優化的問題,前端開發人員非常熟悉,對于一個網站而言,即使內容和功能再優秀,如果用戶需要花費很久的時間才能打開,這樣遲早會消耗用戶的耐心,并最終失去用戶。
那如何才能優化前端性能?歸納為三步
一、關鍵資源字節數字節數也就是通常說的減少資源文件(js、css、image、video...)的大小。
1、壓縮
前端使用uglify混淆壓縮
后端開啟gzip
對圖片進行壓縮,使用壓縮比例更高的格式(WebP)
2、緩存
強緩存(http狀態碼:200),不用請求服務器直接使用本地緩存,協商緩存(http狀態碼:304),使用時先請求服務器若被告知緩存沒過期則使用本地緩存,不用下載資源,使用localstorage對數據進行存儲。
3、針對首屏優化
對非關鍵資源延遲加載、異步加載,減少首屏資源大小
二、關鍵資源連接數1、合并請求
使用http2.0的多路復用合并請求配置combo,在無法使用http2.0的情況下作為一種合并資源請求的手段。
2、減少圖片請求數
使用spite圖,使用svg-symbol。
3、針對一些場景采用css、js內聯的方式。
4、使用強緩存減少了一次服務器請求。
5、非關鍵資源延遲、異步加載,減少了首屏資源連接數。
三、關鍵渲染路徑1、bigpipe分塊輸出
這里主要是因為要完成一整個頁面的輸出后端需要處理很多個任務,我們可以將這些多個任務進行分塊,誰先完成誰就先輸出,最終通過JS回填的方式輸出DOM節點,這種方式主要解決了直出頁面阻塞的問題。
2、bigrender分塊渲染
常規的手段就是采用前端模板渲染頁面,針對首屏時間主要減少了首次構建DOM樹時的節點數
3、針對reflow,repaint,composit路徑處理。
4、涉及到動畫時關于layer的概念render layer、graphics layer。
5、css放在頭部、js放底部避免阻塞DOM樹的構建,關于css、js的位置對于頁面渲染的影響大家可以關注下相關的文章。核心:css資源不會阻塞DOM樹的構建但會阻塞DOM的渲染,JS會阻塞DOM樹的構建,CSS會阻塞JS的執行。
以上就是針對Web前端性能優化歸納出的解決方案。更多Web前端學習資料,關注“武漢千鋒”微信公眾號領取。
如果想在國內從事前端工作,而且是毫無前端經驗的話,建議可以先學習 Vue。
因為現在主流的前端已經是單頁應用,而 Vue 的入門難度最低。
入門后可以仿照網易云音樂,餓了么之類的 APP,作為自己的展示項目。這些網上都有比較好的教程,跟著做一遍能學到不少前端和 Vue 的知識。
如果你希望從事前端,當務之急并不是「從網站尋找項目」,而是對照著一個參考教程項目,認真研究其中的知識,并且打造出自己的一個展示項目,這樣會給你的求職帶來不少幫助。
加油!