前言
基礎篇
第1章 前置知識2
1.1 函數組件與類組件2
1.2 React Ref API4
1.3 React Hooks7
1.3.1 useState7
1.3.2 useRef9
1.3.3 useEffect10
1.3.4 useReducer12
1.3.5 自定義Hooks16
1.4 React Context API17
1.5 深入理解React的渲染流程19
1.5.1 生命週期流程19
1.5.2 渲染流程21
1.5.3 immutable與React渲染24
1.6 MobX狀態管理庫27
1.6.1 從一個Demo開始27
1.6.2 MobX的核心概念30
1.6.3 集成React35
1.7 MongoDB39
1.7.1 安裝MongoDB40
1.7.2 數據建模41
1.7.3 模式驗證43
1.8 Mongoose45
1.8.1 快速開始46
1.8.2 連接數據庫47
1.8.3 Schema49
需求分析篇
第2章 業務場景的需求分析54
2.1 列表頁的需求分析54
2.2 詳情頁的需求分析55
2.3 表單頁的需求分析56
第3章 低代碼平臺的需求分析58
3.1 用戶管理59
3.2 組件市場60
3.3 應用管理61
3.4 可視化編輯器63
3.4.1 列表編輯器63
3.4.2 低代碼引擎67
實戰篇
第4章 架構的設計與實現74
4.1 什麼是低代碼74
4.1.1 純代碼、低代碼和無代碼74
4.1.2 低代碼的發展76
4.1.3 低代碼平臺的分類78
4.2 架構策略80
4.3 低代碼組件81
4.3.1 組件的分類82
4.3.2 組件的特徵83
4.4 編輯器86
4.4.1 佈局編輯86
4.4.2 屬性編輯88
4.4.3 數據編輯89
4.4.4 邏輯編輯92
4.5 代碼編譯器93
4.5.1 代碼編譯器的演變94
4.5.2 渲染器95
4.5.3 源碼生成器97
4.6 插件系統99
4.6.1 什麼是插件化架構99
4.6.2 實現插件化架構101
4.6.3 插件化架構與低代碼103
4.7 歷史記錄管理104
第5章 低代碼組件的設計與實現106
5.1 組件規格107
5.1.1 組件規格協議108
5.1.2 自動生成組件規格110
5.2 組件的消費方式115
5.3 開發一個腳手架118
5.4 開發一個低代碼組件122
5.5 組件市場126
第6章 低代碼引擎的設計與實現127
6.1 頁面搭建協議128
6.2 入料模塊131
6.2.1 插件131
6.2.2 屬性設置器132
6.2.3 組件132
6.2.4 引擎面板135
6.3 渲染器環境137
6.3.1 喚起渲染器環境137
6.3.2 與設計器環境通信139
6.3.3 重新渲染畫布141
6.4 設計器142
6.4.1 對象建模142
6.4.2 拖曳定位143
6.4.3 編輯屬性149
第7章 渲染器的應用實踐156
7.1 顯示組件156
7.1.1 頁面容器158
7.1.2 佈局容器159
7.1.3 表單控件160
7.1.4 普通UI組件160
7.2 數據源161
7.2.1 從服務器獲取數據源161
7.2.2 從父容器獲取數據源166
7.2.3 將數據提供給後代166
7.3 表單聯動167
7.3.1 禁用聯動168
7.3.2 顯隱聯動169
7.3.3 取值聯動170
7.4 表單校驗172
7.5 生命週期174
第8章 代碼生成器的原理與實踐176
8.1 工作原理及概念177
8.1.1 拆分代碼塊177
8.1.2 文件類型179
8.2 插件183
8.3 項目構建器189
8.4 文件存儲192
8.4.1 GitLab API192
8.4.2 數據庫設計195
基礎設施篇
第9章 基礎設施的技術方案198
9.1 研發體系構建198
9.1.1 GitLab CI/CD198
9.1.2 npm私有庫202
9.1.3 CDN服務204
9.2 LDAP賬號管理212
9.2.1 搭建LDAP賬號管理系統212
9.2.2 接入LDAP賬號管理系統218
9.3 開源低代碼項目選型實踐220
9.3.1 阿裡低代碼引擎220
9.3.2 網易雲音樂低代碼引擎223
9.3.3 騰訊低代碼項目224
9.3.4 碼良H5頁面生成平臺226