移动端领域如何深入?掌握完整的技术知识体系,同样也要有技术深度和广度,管理、沟通能力,以及架构能力等。

  • 主要能力:技术深度、技术广度、动手能力:自定义UI、通用UI组件库、通用基础库、项目框架/架构构建自己的技术栈

  • 次要能力:领导力、沟通能力、洞察与前瞻、赋能业务

  1. 掌握扎实的计算机领域的通用知识(操作系统Linux,网络,数据结构与算法)

  2. 掌握扎实的自身技术栈相关的知识体系(Android基础扎实、Java、Kotlin、自定义复杂View、FrameWork、框架原理、性能优化等)

  3. 架构能力:解耦、模块间互相独立、单独仓库、jar、arr依赖,复杂度控制:复杂度控制在组件内部,对外“简单可依赖”,复用:为矩阵产品输出轮子

  4. 工程化能力:编译速度提升:组件单独编译、maven私服、构建加速、持续集成自动化

  5. 拥抱变化并拥有较强的学习能力(技术领域更新快:JetPack Flutter 音视频)

  6. 拥有良好的沟通协作能

网络专题

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
  • 自动构建与持续集成