內(nèi) 容 提 要
本書全面講解了成為移動應用架構師必 備的知識,以及需要學習的技術,主要內(nèi)容包括App架構師成長路線、App基礎語法系列、App開發(fā)工具系列、App SDK使用系列、開源庫的選擇和使用、App常用模塊設計、App架構和重構、App質(zhì)量和穩(wěn)定性系列、App性能優(yōu)化系列、App安全逆向系列、App熱門技術、項目管理、產(chǎn)品思維、設計理念、推廣運營、打造高效團隊、架構師思維等綜合技能。
本書適合企業(yè)一線App開發(fā)工程師、程序員、產(chǎn)品經(jīng)理等從業(yè)者閱讀,也適合 作為大專院校相關專業(yè)師生的學習用書和培訓學校的教材。
全面介紹了在移動應用開發(fā)的架構設計和性能優(yōu)化方面的知識,是架構師的必 備書籍
講述了移動應用架構師需要了解的技能、思想等整體的發(fā)展方向,是移動架構師成長的路線圖
讀者不僅可以學習到移動應用的開發(fā)技術,更能收獲到在實戰(zhàn)項目中會用到的各種工程化的知識,是架構師的學習寶典
趙波,研究生,前阿里資 深軟件工程師/圖像算法工程師,擅長移動應用和圖像算法開發(fā),在計算機視覺,無線互聯(lián)以及軟件測試生態(tài)鏈工具等多領域有深入研究和較深刻理解。曾在多家創(chuàng)業(yè)公司擔任技術顧問和技術總監(jiān)職位,某知名企業(yè)培訓機構企業(yè)內(nèi)訓高 級講師,某在線教育平臺Android講師,發(fā)表國家核心期刊3篇,國家發(fā)明專利22件,國內(nèi)* 一本NFC書籍《Android NFC開發(fā)實戰(zhàn)》作者,
目錄
* 一篇 基 礎 篇
* 1章 App架構師成長路線 2
1.1 架構師定義 2
1.2 程序員發(fā)展路線 3
1.3 App架構師技能矩陣 5
1.3.1 App架構師畫布 5
1.3.2 技能圖譜 5
1.4 本章小結 6
1.5 推薦資料 7
* 2章 App基礎語法系列 8
2.1 編程語言 8
2.1.1 那些年,那些語言 9
2.1.2 聊聊Swift 11
2.1.3 Swift 3和Java 8新特性 13
2.2 面向?qū)ο笏枷?14
2.2.1 編程范式 14
2.2.2 封裝、繼承與多態(tài) 15
2.2.3 內(nèi)部類的使用和思考 17
2.3 線程與進程 19
2.4 反射、注解與泛型 21
2.4.1 反射與注解 21
2.4.2 泛型 23
2.5 本章小結 24
2.6 推薦資料 25
第3章 App開發(fā)工具系列 26
3.1 IDE 26
3.1.1 Android Studio 27
3.1.2 Xcode 29
3.2 編譯調(diào)試 29
3.3 版本管理 31
3.3.1 代碼管理 31
3.3.2 Git分支管理 32
3.4 產(chǎn)品設計 34
3.5 程序員珍藏 35
3.5.1 抓包工具 36
3.5.2 ADB 36
3.5.3 Chrome開發(fā)插件 37
3.6 本章小結 38
3.7 推薦資料 38
第4章 App SDK使用系列 39
4.1 從Lifecycle說起 39
4.2 大話UI 41
4.2.1 關于布局 41
4.2.2 常用控件 41
4.2.3 自定義View 42
4.3 存儲和網(wǎng)絡 43
4.4 本章小結 43
4.5 推薦資料 44
第5章 開源庫的選擇和使用 45
5.1 關于開源 46
5.2 開源庫的選擇 46
5.2.1 開源項目選擇 46
5.2.2 關于License 47
5.3 開源庫的使用 48
5.4 本章小結 49
5.5 推薦資料 49
* 二篇 核 心 篇
第6章 App常用模塊設計 52
6.1 基礎組件庫 52
6.1.1 構建你的基礎組件庫 53
6.1.2 不得不說的圖片庫 54
6.1.3 淺談網(wǎng)絡庫和加密 61
6.2 常用業(yè)務模塊 65
6.2.1 啟動引導模塊 65
6.2.2 注冊登錄模塊 66
6.2.3 運營統(tǒng)計模塊 67
6.3 編譯打包 68
6.3.1 打包方式和流程 68
6.3.2 Gradle實用技巧 71
6.4 版本適配 75
6.4.1 iOS App適配 76
6.4.2 Android App適配 77
6.5 本章小結 78
第7章 App架構和重構 79
7.1 從組件和模塊說起 80
7.2 組件化、模塊化和插件化 80
7.2.1 三個概念 80
7.2.2 App插件化 82
7.2.3 App組件化 83
7.3 UML基本功 86
7.3.1 UML工具 86
7.3.2 常見UML圖 87
7.3.3 UML實例 88
7.4 大話設計模式 88
7.4.1 六大原則 89
7.4.2 設計模式總覽 89
7.4.3 設計模式實踐 90
7.5 接口設計 91
7.5.1 API,What and Why 92
7.5.2 How API 92
7.6 常見架構模式 95
7.6.1 MVX模式 95
7.6.2 常見軟件架構 97
7.6.3 從組件化角度看App架構 100
7.7 重構未眠夜 102
7.7.1 重構概覽 102
7.7.2 架構重構 103
7.7.3 代碼重構 104
7.8 架構設計夠了么 106
7.9 本章小結 106
7.10 推薦資料 106
第8章 App質(zhì)量和穩(wěn)定性系列 108
8.1 質(zhì)量標準和穩(wěn)定性指標 109
8.1.1 應用的核心質(zhì)量 109
8.1.2 穩(wěn)定性衡量指標 109
8.2 質(zhì)量和穩(wěn)定性手段 112
8.2.1 質(zhì)量監(jiān)控 112
8.2.2 問題處理原則 115
8.2.3 App持續(xù)集成 115
8.2.4 代碼質(zhì)量監(jiān)測 125
8.3 笑談Crash 138
8.3.1 Crash基礎和原理 138
8.3.2 Crash收集和統(tǒng)計 142
8.3.3 Crash分析 150
8.4 測試專場 160
8.4.1 測試綜述 161
8.4.2 兼容性測試 165
8.4.3 性能和安全性測試 174
8.4.4 自動化測試 174
8.4.5 A/B Testing 180
8.4.6 代碼覆蓋率 182
8.4.7 線上演練 183
8.5 本章小結 183
8.6 推薦資料 183
第9章 App性能優(yōu)化系列 185
9.1 性能分析 186
9.1.1 性能維度 186
9.1.2 性能優(yōu)化 186
9.1.3 性能測試平臺 187
9.2 硬件性能優(yōu)化 187
9.2.1 電量信息獲取 188
9.2.2 耗電分析 190
9.2.3 電量優(yōu)化 191
9.3 UI和CPU性能優(yōu)化 194
9.3.1 基礎原理 194
9.3.2 流暢度度量 196
9.3.3 卡頓分析和優(yōu)化 201
9.4 內(nèi)存性能優(yōu)化 206
9.4.1 內(nèi)存機制和原理 206
9.4.2 內(nèi)存分析工具 210
9.4.3 泄露和溢出 210
9.4.4 內(nèi)存性能優(yōu)化 212
9.5 網(wǎng)絡性能優(yōu)化 215
9.5.1 網(wǎng)絡性能概述 216
9.5.2 網(wǎng)絡性能測試和流量度量 218
9.5.3 網(wǎng)絡性能優(yōu)化 220
9.6 App包Size優(yōu)化 223
9.6.1 App包Size優(yōu)化概述 223
9.6.2 App包Size分析 224
9.6.3 App包Size優(yōu)化 227
9.7 App啟動速度優(yōu)化 230
9.7.1 App啟動方式和流程 230
9.7.2 App啟動時間度量 232
9.7.3 App啟動速度優(yōu)化 234
9.8 App代碼優(yōu)化 235
9.9 本章小結 240
9.10 推薦資料 240
* 10章 App安全逆向系列 242
10.1 逆向概述 242
10.1.1 App包組成 243
10.1.2 逆向工具 245
10.1.3 Root和越獄 247
10.1.4 二次打包 247
10.2 逆向分析 248
10.2.1 靜態(tài)分析 248
10.2.2 動態(tài)分析 249
10.2.3 Hook和注入 249
10.3 安全測試 251
10.4 安全建議 252
10.4.1 混淆和簽名 253
10.4.2 加固加殼 262
10.4.3 安全編碼和隱私 263
10.5 本章小結 265
10.6 推薦資料 265
* 11章 App熱門技術 267
11.1 進程保活 267
11.1.1 基礎知識 268
11.1.2 ;罘椒 271
11.2 MultiDex 271
11.3 RxJava 273
11.3.1 RxJava基礎 273
11.3.2 RxJava應用實例 276
11.4 Hybrid 281
11.5 HotFix 282
11.6 AOP 283
11.6.1 OOP與AOP 283
11.6.2 AOP應用實例 283
11.7 本章小結 286
11.8 推薦資料 286
第三篇 產(chǎn) 品 篇
* 12章 App是如何練成的 290
12.1 App練成 290
12.2 開發(fā)流程 291
12.3 也談版本號 292
12.4 本章小結 293
* 13章 項、產(chǎn)、設、運“四天* ” 294
13.1 項目管理 294
13.1.1 敏捷Scrum 295
13.1.2 班車模式 298
13.2 產(chǎn)品思想 298
13.2.1 產(chǎn)品經(jīng)理 299
13.2.2 產(chǎn)品思維 299
13.3 設計理念 302
13.3.1 UI與UX 302
13.3.2 設計理念 304
13.4 推廣運營 306
13.4.1 運營指標 306
13.4.2 大話推廣 309
13.4.3 運營之道 310
13.5 本章小結 310
13.6 推薦資料 310
* 14章 我的高效團隊 312
14.1 從代碼規(guī)范開始 312
14.2 不得不說的Code Review 313
14.3 晨會,高效一 天的開始 315
14.4 溝通和團建 315
14.5 別忘了技術分享 316
14.6 面試,面試,再面試 317
14.7 自管理,扁平化 318
14.8 * 后,聊聊加班 319
14.9 本章小結 319
14.10 推薦資料 319
第四篇 拓 展 篇
* 15章 架構師那點事 322
15.1 大話全棧工程師 322
15.2 架構師思維 323
15.3 學而時習之 324
15.4 軟技能 325
15.5 本章小結 326
15.6 推薦資料 326