前端狹義定義應該是http的傳輸,前端在剛誕生的時候,是一個局域網的內部的共享文檔,後來到了90年代瀏覽器的誕生依然是從服務器端下載文檔而後展現文檔,因此前端通過幾十年的發展,他的核心並無變化,而咱們追求的極致應該是快速的展示內容和穩定的展示內容,在這基礎上再展現有趣的內容,以此爲主線,做爲前端工程師所必須關注的有:
線路的穩定:tcp http dns cdn
數據大小:各類壓縮優化方案
懶加載/預加載:何種懶加載預加載方案
緩存:各類緩存方案
服務器端渲染:ssrcss
以上的目的都是爲了快速展示內容,這裏面的知識點不少,在速度問題獲得解決以後,就是穩定性,在不一樣終端上的兼容性問題,
pc:瀏覽器的兼容性問題
移動端:ios/安卓的兼容性問題
微信:微信瀏覽器的兼容性問題
將來一切能夠承載js的終端的兼容性問題前端
在速度 穩定獲得解決以後,就是展示的優化:
dom優化:
css動畫:
js動畫:
瀏覽器渲染原理:java
速度 穩定 界面優化這三者是針對客戶的,只有這三者徹底研究透徹,才應該去研究其餘東西,webpack
在解決完客戶滿意度問題後,咱們須要解決的是團隊協做問題,包括
git:
代碼規範:
框架選型:
面向對象/設計模式
工具:webpackios
編寫出可維護的 高質量的代碼,在團隊協做和後期擴展方面都提供了很大的便利性。nginx
在以上完成以後,咱們還能夠關注總體項目,包括:
持續集成/部署
自動化測試
nginx
pm2git
前端會出現不少不少的工具,不少不少的框架,不少不少的方案,若是咱們不加思索的把全部的都學了,那是極好的,可是會有不少重複的工具 框架,咱們必須有一條主線,知道咱們須要什麼,而後根據咱們的需求,去找對應的工具,而後比對不一樣的工具,選出最好的,這樣纔不至於在衆多知識中迷失本身。web
在以上解決以後,由於js自己的特色,js又很快的應用與服務器端開發和移動端開發,注意,這裏是由於js這個語言自己的特色,而後服務器端領域拿js來作一點事情,而後移動端拿js來作一點事情,若是咱們以爲由於js能夠去寫服務器端 js能夠去寫移動端,而後咱們就須要去掌握 就須要去研究,那確定是不切實際的,在完成我上面所說的全部知識 針對服務器端和移動端的能夠去了解,除非你準備轉型專門作服務器端或者移動端,不然你就不該該深入的去研究它,服務器端積累了幾十年,難道僅僅會Nodejs就能夠幹掉java服務器端了?用js來寫移動端又怎麼可能寫出相似於原生的絢麗的動畫體驗效果?若是隻是寫寫增刪改查,那又怎麼能說你是作移動端的呢?針對是否須要學習flutter,若是你以爲你在前端已經研究到極致了 以爲前端已經沒有你的施展空間了,須要去移動端耍耍,那固然是歡迎的設計模式