前言
隨着前端的不斷發展,各種框架概念層出不窮,初級希望能了解前端整個知識體系,加強對前端認知,有一定工作經驗的前端工程師也希望能構建自己的知識體系,往更高的層次邁進。因此本人查閱多方資料,結合自己的了解認知,整理出如下的知識圖譜,供大家討論與參考。
GitHub地址: 2020 前端知識圖譜,
期待您的 star。因個人能力與視野有限,歡迎大家提 PR 與 issue,一起改善,一起進步。
圖譜
Todo List
-
為圖譜對應的列表增添超鏈接,鏈接到知識點對應的更多內容的頁面(建議文檔渠道:官網、MDN、GitHub、wiki,中英文隨意)
- 編程基礎
- 開發軟件
- 類庫框架
- 知識進階
- 工程開發
- 編程思想
- 領域分支
- 社區發展
- 計算機基礎
- 后端知識
- 軟技能
-
增加二級圖譜,進行更詳細的拓展
- 編程基礎
- 開發軟件
- 類庫框架
- 知識進階
- 工程開發
- 編程思想
- 領域分支
- 社區發展
- 計算機基礎
- 后端知識
- 軟技能
編程基礎
HTML(5)
CSS(3)
JavaScript(ES6+)
開發軟件
編輯器和IDE
調試工具
切圖
類庫框架
工具庫
開發庫/框架
知識進階
網絡通信
-
通訊協議
-
API風格
性能
-
性能指標
- 首次繪制(FP)
- 首次內容繪制(FCP)
- 首次有效繪制(FMP)
- 每秒傳輸幀數(FPS)
- 用戶可交互時間
- DNS解析時間
- TCP連接時間
- HTTP請求響應時間
- *:以用戶為中心的性能指標
-
評估工具
安全
瀏覽器
- IE6/7/8/9/10/11 (Trident) / Edge (EdgeHTML)
- Firefox (Gecko)
- Chrome/Chromium (Blink)
- Safari (WebKit)
- Opera (Blink)
- *:can i use
工程開發
模塊化
版本管理
-
Svn
依賴管理
語言增強
-
CSS
-
JavaScript
構建工具
轉換器
CI/CD
代碼質量
-
質量檢測
-
單元測試
-
E2E測試
編程思想
設計模式
架構模式
- Script
- Code Blocks
- Code Behind
- MVC
- MVP
- MVVM
- Flux
- *:你對MVC、MVP、MVVM 三種組合模式分別有什么樣的理解?
編程范型
程序設計
領域分支
可視化
移動Web
-
Web to Native
游戲開發
便攜式設備
社區發展
計算機基礎
編譯原理
- 詞法
- 文法
- V8
- AST
- JIT
- *:JavaScript 語法解析、AST、V8、JIT
數據結構
- 堆(Heap)
- 棧(Stack)
- 隊列(Queue)
- 鏈表(Linked List)
- 數組(Array)
- 樹(Tree)
- 集合(Set)
- 哈希表(Map)
- *:JavaScript 算法與數據結構
算法
-
排序
- 冒泡排序
- 選擇排序
- 插入排序
- 快速排序
- 希爾排序
- 歸並排序
- 堆排序
- 計數排序
- 基數排序
-
檢索
- 線性搜索
- 二分查找
- 索引
- 深度優先搜索(DFS)
- 廣度優先搜索(BFS)
操作系統
-
PC
- Linux
- Unix
- Windows
- Mac OS
-
Mobile
- Android
- IOS
計算機網絡
后端知識
Node
編程語言
- C/C++/Java/PHP/Ruby/Python/…
網頁服務器
數據庫
-
SQL
-
NoSQL
數據緩存
軟技能
學習能力
- 知識儲備
- 知識分享
技術能力
- 解決問題
團隊協作
- 溝通技巧
項目管理
- 業務理解
- 需求分析
- 項目評估
人員管理
架構設計能力
- 交互設計
- 可用性
- 擴展性
- 安全性
- 性能