移动端领域如何深入?掌握完整的技术知识体系,同样也要有技术深度和广度,管理、沟通能力,以及架构能力等。
主要能力:技术深度、技术广度、动手能力:自定义UI、通用UI组件库、通用基础库、项目框架/架构构建自己的技术栈
次要能力:领导力、沟通能力、洞察与前瞻、赋能业务
掌握扎实的计算机领域的通用知识(操作系统Linux,网络,数据结构与算法)
掌握扎实的自身技术栈相关的知识体系(Android基础扎实、Java、Kotlin、自定义复杂View、FrameWork、框架原理、性能优化等)
架构能力:解耦、模块间互相独立、单独仓库、jar、arr依赖,复杂度控制:复杂度控制在组件内部,对外“简单可依赖”,复用:为矩阵产品输出轮子
工程化能力:编译速度提升:组件单独编译、maven私服、构建加速、持续集成自动化
拥抱变化并拥有较强的学习能力(技术领域更新快:JetPack Flutter 音视频)
拥有良好的沟通协作能
网络专题
Java/Kotlin进阶
数据结构与算法
JVM专题
多线程专题
Android 框架
FrameWork源码与UI
性能优化
NDK及音视频开发
由于NDK及音视频开发,涉及的知识量特别大,所以另开了一个专题,专门分享音视频技术音视频技术专题
跨端开发:小程序与Flutter
Gradle实战
App 架构设计
语言:Java + kotlin
混合架构: JetPack+ Flutter/RN + H5
网络:封装统一的网络层接口,不直接依赖网络库
数据持久化:File + SharedPreference + SQLite/Room
数据层设计:
- 网络层
- RESTful风格
- 提供统一的API接口
- 支持底层网络框架的切换,并对上层业务无感
- 本地数据
- 提供ORM数据操作框架减少对SQLite的直接操作
- 提供统一的数据缓存框架
容灾能力:
- 监控与预警
- 动态发布
- 热修复
开发支持工具
- 开发规约
- 代码规约
- CodeStyle
- CodeReview
- DebugTool
- 自动构建与持续集成