写到第 15 篇,这个系列已经完成了从初级 Activity 生命周期到 Gradle、Native、APM、安全的跨越。
最后一篇,我想聊聊职业成长:从“能写代码的 Android 工程师”到“能设计系统的移动端架构师”,中间到底差了什么?
一、高级工程师 vs 架构师:差别不在代码量
高级工程师写代码,架构师设计“写代码的方式”。
二、架构师的核心能力
2.1 抽象能力
架构师看到的是模式,不是细节。
// 普通写法
fun login(phone: String, code: String) { ... }
fun register(phone: String, code: String) { ... }
// 抽象后
interface AuthUseCase {
suspend fun execute(credential: Credential): AuthResult
}
把“登录”和“注册”抽象成“认证用例”,后续扩展指纹、人脸、第三方登录都更容易。
2.2 权衡能力
架构没有唯一正确答案,只有当前上下文下的最优解。
模块化拆太细,构建快但通信成本高。
模块化拆太少,构建慢但耦合低。
用 Compose 还是 XML?取决于团队能力和项目周期。
自研框架还是引入开源?取决于维护成本。
架构师要能说清楚:为什么选 A 而不是 B。
2.3 演进能力
好的架构不是一次设计出来的,是演进出来的。
MVC → MVP → MVVM → MVI + Compose
单模块 → 按层拆分 → 按功能拆分 → 插件化/动态化
每一阶段解决当时的主要矛盾,而不是提前为未来五年做准备。
2.4 沟通能力
架构师的方案要落地,必须让别人理解和接受。
写决策文档(ADR)。
画架构图。
做技术评审。
培训团队。
代码写得再好,没人用也是废的。
三、移动端架构师的知识图谱
一个合格的移动端架构师,至少应该覆盖以下领域:
基础层
├── 语言:Kotlin / Java / C++
├── 系统:Android Framework / Linux 基础
└── 性能:内存、启动、渲染、网络
工程层
├── 架构模式:MVC/MVP/MVVM/MVI/Clean Architecture
├── 依赖注入:Hilt / Dagger
├── 构建系统:Gradle / Bazel
└── 模块化 / 组件化 / 插件化
系统层
├── 跨平台:Compose Multiplatform / KMP / Flutter
├── 原生能力:JNI / NDK / AIDL / Binder
├── 安全:混淆、加固、加密、签名
└── 监控:APM / Crash / 性能指标体系
软技能
├── 技术决策
├── 团队管理
├── 业务理解
└── 沟通表达
四、从高级到架构师的成长路径
4.1 第 1 步:成为某个领域的专家
先在 Android 某一领域做到团队里最懂的人:
性能优化专家。
架构模式专家。
Gradle / 构建专家。
安全专家。
有了专精,才有话语权。
4.2 第 2 步:主动承担架构问题
不要等领导分配。主动做这些事:
整理现有架构的问题清单。
写重构提案。
搭建公共组件。
推动 Code Review 标准。
4.3 第 3 步:培养系统思维
每次做技术决策时,问自己:
这个改动影响哪些模块?
新同学能看懂吗?
半年后要改容易吗?
测试怎么写?
线上出问题怎么回滚?
4.4 第 4 步:扩展广度
架构师不能只懂 Android。要了解:
后端基本架构(API 设计、数据库、缓存、消息队列)。
产品思维(用户路径、转化率、业务指标)。
数据思维(埋点、AB 实验、数据分析)。
五、给 Android 工程师的 10 条建议
不要只学 API,要理解原理。Binder 怎么工作?ART 怎么 GC?Compose 怎么重组?
性能优化要能量化。没有 Profile 数据的优化是玄学。
代码是写给人看的。简洁、可读、可测试比炫技重要。
先搞定一个领域,再扩展广度。不要什么都会一点,什么都不深。
关注工程化。构建、测试、发布、监控,都是架构的一部分。
学会说“不”。不是所有需求都值得做,不是所有技术债都要马上还。
写文档。你的方案只有被理解,才有价值。
保持学习。Android 生态变化快,Jetpack、KMP、Compose 都在演进。
理解业务。技术是为业务服务的,不懂业务做不好架构。
找 mentor,也做 mentor。成长是双向的。
六、这个系列暂时告一段落
前 15 篇覆盖了 Android 工程师从初级到专家的核心主题:
第 1-5 篇:基础与中级(生命周期、Compose、协程、架构、性能)。
第 6-10 篇:高级主题(Compose 性能、IPC、Hilt、协程底层、网络架构)。
第 11-15 篇:专家主题(Gradle、Native、APM、安全、架构师成长)。
后续如果继续,会进入更垂直的专题:
音视频开发。
插件化 / 热修复。
鸿蒙迁移。
跨平台与 KMP。
AI 在移动端的工程化落地。
小结
成为移动端架构师,不是把 API 背得更熟,而是:
从解决问题到定义问题。
从写代码到设计系统。
从关注局部到关注整体。
从技术到团队到业务。
这条路没有捷径,但每一步都算数。
参考阅读
《Software Architecture in Practice》
《Designing Data-Intensive Applications》
Android 官方架构指南
本系列第 1-14 篇