内容简介
内 容 提 要 本书全面讲解了成为移动应用架构师必 备的知识,以及需要学习的技术,主要内容包括App架构师成长路线、App基础语法系列、App开发工具系列、App SDK使用系列、开源库的选择和使用、App常用模块设计、App架构和重构、App质量和稳定性系列、App性能优化系列、App安全逆向系列、App热门技术、项目管理、产品思维、设计理念、推广运营、打造高效团队、架构师思维等综合技能。 本书适合企业一线App开发工程师、程序员、产品经理等从业者阅读,也适合 作为大专院校相关专业师生的学习用书和培训学校的教材。作者简介:
赵波,研究生,前阿里资 深软件工程师/图像算法工程师,擅长移动应用和图像算法开发,在计算机视觉,无线互联以及软件测试生态链工具等多领域有深入研究和较深刻理解。曾在多家创业公司担任技术顾问和技术总监职位,某知名企业培训机构企业内训高 级讲师,某在线教育平台Android讲师,发表国家核心期刊3篇,国家发明专利22件,国内第一本NFC书籍《Android NFC开发实战》作者目 录:
目录第一篇 基 础 篇
第1章 App架构师成长路线 2
1.1 架构师定义 2
1.2 程序员发展路线 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 面向对象思想 14
2.2.1 编程范式 14
2.2.2 封装、继承与多态 15
2.2.3 内部类的使用和思考 17
2.3 线程与进程 19
2.4 反射、注解与泛型 21
2.4.1 反射与注解 21
2.4.2 泛型 23
2.5 本章小结 24
2.6 推荐资料 25
第3章 App开发工具系列 26
3.1 IDE 26
3.1.1 Android Studio 27
3.1.2 Xcode 29
3.2 编译调试 29
3.3 版本管理 31
3.3.1 代码管理 31
3.3.2 Git分支管理 32
3.4 产品设计 34
3.5 程序员珍藏 35
3.5.1 抓包工具 36
3.5.2 ADB 36
3.5.3 Chrome开发插件 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 存储和网络 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 浅谈网络库和加密 61
6.2 常用业务模块 65
6.2.1 启动引导模块 65
6.2.2 注册登录模块 66
6.2.3 运营统计模块 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质量和稳定性系列 108
8.1 质量标准和稳定性指标 109
8.1.1 应用的核心质量 109
8.1.2 稳定性衡量指标 109
8.2 质量和稳定性手段 112
8.2.1 质量监控 112
8.2.2 问题处理原则 115
8.2.3 App持续集成 115
8.2.4 代码质量监测 125
8.3 笑谈Crash 138
8.3.1 Crash基础和原理 138
8.3.2 Crash收集和统计 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性能优化系列 185
9.1 性能分析 186
9.1.1 性能维度 186
9.1.2 性能优化 186
9.1.3 性能测试平台 187
9.2 硬件性能优化 187
9.2.1 电量信息获取 188
9.2.2 耗电分析 190
9.2.3 电量优化 191
9.3 UI和CPU性能优化 194
9.3.1 基础原理 194
9.3.2 流畅度度量 196
9.3.3 卡顿分析和优化 201
9.4 内存性能优化 206
9.4.1 内存机制和原理 206
9.4.2 内存分析工具 210
9.4.3 泄露和溢出 210
9.4.4 内存性能优化 212
9.5 网络性能优化 215
9.5.1 网络性能概述 216
9.5.2 网络性能测试和流量度量 218
9.5.3 网络性能优化 220
9.6 App包Size优化 223
9.6.1 App包Size优化概述 223
9.6.2 App包Size分析 224
9.6.3 App包Size优化 227
9.7 App启动速度优化 230
9.7.1 App启动方式和流程 230
9.7.2 App启动时间度量 232
9.7.3 App启动速度优化 234
9.8 App代码优化 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 静态分析 248
10.2.2 动态分析 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
第三篇 产 品 篇
* 12章 App是如何练成的 290
12.1 App练成 290
12.2 开发流程 291
12.3 也谈版本号 292
12.4 本章小结 293
* 13章 项、产、设、运 四天* 294
13.1 项目管理 294
13.1.1 敏捷Scrum 295
13.1.2 班车模式 298
13.2 产品思想 298
13.2.1 产品经理 299
13.2.2 产品思维 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 从代码规范开始 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