Android架构师之路

1. 移动架构师主要工作是什么?

1.设计当前架构。包括新技术方案的指定和评审
2.改进过去架构。根据业务的发展或技术债务的原因,重构当前技术方案并且推进实施。
3.前瞻未来架构。技术方案调研和分析,随时准备好对新技术的使用。
4.推进技术方案实施。解决实施过程中具体的技术问题。
5.技术分享和培训。推进技术交流和新技术的使用。
6.人员招聘,技术面试。

2. 移动架构是的成长路线是什么样的?

架构师成长需要长久的实践与积累,最好的方式就是在工作中成长。
首先必须明确,你是在做产品还是不是项目。
其次,架构的前期需求分析与建模非常重要,多思考未来可能的扩展。
最后,最好有一定的代码规范甚至是洁癖。

多参考一些成熟的第三方开源项目,要明白what how why

What: 这个项目是为了解决什么问题而生的,提供了什么样的API?

How: 它是如何实现的?有哪些小的功能模块组成?它们是怎样解耦的?如果我有扩展需求,我该如何改?

Why: 为什么会这样来实现?有没有更好的方案?

可以先试着解决当前业务中的技术问题,然后再培养自己的技术前瞻性,为业务的未来储备技术。架构师立命的根本还是技术,所以再移动开放技术上研究的事情都要尝试去做。另外,技术人员通常不善于表达,而架构师的很多工作(例如技术分享,培训,面试,推荐技术方案实施)都需要沟通工作的。另外优秀的移动架构师能够对业界都有所影响。所以,作为一个移动架构师,锻炼自己的表达能力也是必要的一条成长路线。

3.架构师如何进行团队沟通工作?

1、与CTO总监的合作。首先从思想上要认识到两者是利益完全一致的。总监为架构师拓展上升空间,而架构师将总监的规划切实落地。保证足够的沟通,可以约定一个固定沟通机制,比如每2周一次,让双方在思想上保持同步和一致。架构师应该带着方案和CTO沟通,讲清楚A、B方案的优缺点。可以让CTO根据从上层去考虑做决定,就算架构师本职的决策,也最好先取得CTO的认可。如果出现意见分歧,最好的方式是先搁置,等条件成熟了,很可能意见会趋于一致。如果不能等,只要CTO的意见不是太离谱,还是按照CTO的意见执行比较好。如果有十足把握,认为自己的方案很好,那么也要得到CTO的许可和谅解,否则千万不要擅自去做,因为最后的锅不是你一个人能背的。

2、与其他部门的合作。产品部门一般不懂技术,架构师的作用就是帮他解决这个问题,这个很好理解。在理解了产品需求后,进行技术可行性分析。在不改变整体方案目标的前提下,从技术的角度,提出改善意见,修改设计,目的是方便实现。与后台架构师搞好合作,从后台到前台,整条链路太长,一个人管不过来,需要两人好好合作,共同把好技术关。拉拢好测试部门,要当作开发的朋友看待,是自己人。如果关系够好,考虑让测试人员在“自测”阶段提前介入,帮助开发人员提供测试案例。运营部门的关系稍微远了一点,关键点是及早介入。防止临上线了,加入一堆的运营需求,就可能影响产品投放时间了。总之与其他部门以合作为主,挣取及早沟通,将风险消灭在反生之前。

3、与团队成员的合作。移动开发团队人数不多,但是部门和开发语言多。有IOS,android,还有JS和Java网关。如果一个部门超过3个人,应该设置一个Team-Leader,进行授权实现间接管理。对于自己擅长的技术亲自去实现,和兄弟们一起战斗,深入到团队中。思考团队提升和储备,应让中层人员在一线作战,高层人员作指导,初层人员打酱油学习。对于自己不擅长的技术,可以采用“结对编程”的方法,让两个开发者在一台电脑上开发,一个编写另一个观察,程序基本是相同的,还是能够理解和参与讨论的。与几个Leader,要重点在于沟通,在大方向上保证思想一致,给他们空间适量授权,并协助他们做出成绩。重点注意团队的正能量以及活跃的气氛,人不是机器,和谐的氛围比冰冷的制度和惩罚要好得多。记录团队的功绩和成果,提高团队成员集体荣誉感,将奋斗目标引导到“自我价值”上来。

4.Android架构师技术路线 摘自《App架构师实践指南》

第一篇 前传(基础篇)

第1章 App架构师成长路线

  • 1.1 架构师,架构士?
  • 1.2 程序员发展路线
  • 1.3 App架构士技能矩阵
  • 1.3.1 App架构师画布
  • 1.3.2 技能图谱
  • 1.4 本章小结
  • 1.5 推荐资料

第2章 App基础语法系列

2.1 那些年,那些语言
2.1.1 那些年,那些语言
2.1.2 聊聊Swift
2.1.3 Swift 3 & Java 8 新特性
2.2 面向对象思想
2.2.1 编程范式
2.2.2 封装,继承与多态
2.2.3 内部类的使用和思考
2.3 线程与进程
2.4 反射,注解与泛型
2.4.1 反射与注解
2.4.2 泛型
2.5 本章小结
2.6 推荐资料

第3章 App开发工具系列

3.1 IDE
3.1.1 Android Studio
3.1.2 XCode
3.2 编译调试
3.3 版本管理
3.3.1 代码管理
3.3.2 Git分支管理
3.4 产品设计
3.5 码农珍藏
3.5.1 抓包工具
3.5.2 ADB
3.5.3 Chrome插件
3.6 本章小结
3.7 推荐资料

第4章 App SDK使用系列

4.1 从Lifecycle说起
4.2 大话UI
4.2.1 关于布局
4.2.2 常用控件
4.2.3 自定义View
4.3 存储和网络篇
4.4 本章小结
4.5 推荐资料

第5章 开源库选择和使用

5.1 关于开源
5.2 开源库选择
5.3 开源库使用
5.4 本章小结
5.5 推荐资料

第二篇 正传(六脉神剑)

第6章 App常用模块设计

6.1 基础组件库
6.1.1 构你的基础组件库
6.1.2 不得不说的图片库
6.1.3 浅谈网路和加密库
6.2 常用业务模块
6.2.1 启动引导页面
6.2.2 注册登陆模块
6.2.3 运营统计模块
6.3 编译打包
6.3.1 打包方式和流程
6.3.2 Gradle实用技巧
6.4 版本适配
6.4.1 iOS App适配
6.4.2 Android App适配
6.5 本章小结
6.6 推荐资料

第7章 App架构和重构

7.1 从组件和模块说起
7.2 组件化,模块化和插件化
7.2.1 三个概念
7.2.2 App插件化
7.2.3 App组件化
7.3 UML基本功
7.4 大话设计模式
7.5 接口设计
7.5.1 API,What and Why?
7.5.2 How API?
7.6 常见的架构模式
7.6.1 MVX模式
7.6.2 常见软件架构
7.6.3 从组件化看App架构
7.7 重构未眠夜
7.7.1 重构概览
7.7.2 架构重构
7.7.3 代码重构
7.8 架构设计,够了么?
7.9 本章小结
7.10 推荐资料

第8章 App质量和稳定性系列

8.1 质量标准和稳定性指标
8.1.1 应用的核心质量
8.1.2 稳定性衡量指标
8.2 质量和稳定性手段
8.2.1 质量监控
8.2.2 问题处理原则
8.2.3 App持续集成
8.2.4 代码质量监测
8.3 笑谈Crash
8.3.1 Crash基础和原理
8.3.2 Crash收集和统计
8.3.4 Crash分析
8.4 测试专场
8.4.1 测试综述
8.4.2 兼容性测试
8.4.3 性能和安全性测试
8.4.4 自动化测试
8.4.5 A/B Testing
8.4.6 代码覆盖率
8.4.7 线上演练
8.5 本章小结
8.6 推荐资料

第9章 App性能优化系列

9.1 性能分析
9.1.1 性能指标
9.1.2 性能优化
9.1.3 性能测试平台
9.2 硬件性能优化
9.2.1 电量信息获取
9.2.2 耗电分析
9.2.3 电量优化
9.3 UI和CPU性能优化
9.3.1 基础原理
9.3.2 流畅度度量
9.3.3 流畅度/卡顿分析和优化
9.4 内存性能优化
9.4.1 内存机制和原理
9.4.2 内存分析工具
9.4.3 泄露和溢出
9.4.4 内存优化
9.5 网络性能优化
9.5.1 网络性能概述
9.5.2 网络性能测试和度量
9.5.3 网络性能优化
9.6 App包Size优化
9.6.1 App包Size优化概述
9.6.2 App包Size分析
9.6.3 App包Size优化
9.7 App启动速度优化
9.7.1 App启动方式和流程
9.7.2 App启动时间度量
9.7.3 App启动速度优化
9.8 App代码优化
9.9 本章小结
9.10 推荐资料

第10章 App安全逆向系列

10.1 逆向概述
10.1.1 App安装包组成
10.1.2 逆向工具
10.1.3 Root和越狱
10.1.4 二次打包
10.2 逆向分析
10.2.1 静态分析
10.2.2 动态分析
10.2.3 Hook和注入
10.3 安全测试
10.4 安全建议
10.4.1 混淆签名
10.4.2 加固加壳
10.4.3 安全编码和隐私
10.5 本章小结
10.6 推荐资料

第11章 App热门技术和奇淫绝技

11.1 进程存活
11.1.1 基础知识
11.1.2 保活方法
11.2 MultiDex
11.3 RxJava
11.3.1 RxJava基础
11.3.2 RxJava应用实例
11.4 Hybrid
11.5 Hot Patch
11.6 AOP
11.6.1 OOP & AOP
11.6.2 AOP应用实例
11.7 本章小结
11.8 推荐资料

第三篇 后传(天下五绝)

第12章 App是如何练成的

12.1 App练成
12.2 开发流程
12.3 也谈版本号
12.4 本章小结

第13章 项产设运四天王

13.1 项目管理
13.1.1 敏捷Scrum
13.1.2 班车模式
13.2 产品思维
13.2.1 产品经理
13.2.2 产品思维
13.3 设计理念
13.3.1 UI&UX
13.3.2 设计理念
13.4 推广运营
13.4.1 运营指标
13.4.2 大话推广
14.3.3 运营之道
13.5 本章小结
13.6 推荐资料

第14章 我的高效团队

14.1 从代码规范开始
14.2 不得不说的Code Review
14.3 晨会,高效一天的开始
14.4 沟通和团建
14.5 别忘了技术分享
14.6 面试,面试再面试
14.7 自管理,扁平化
14.8 最后,聊聊加班
14.9 本章小结
14.10 推荐资料

第四篇 外传

第15章 架构士那点事

15.1 大话全栈工程师
15.2 架构师思维
15.3 学而时习之
15.4 软技能
15.5 本章小结
15.6 推荐资料

你可能感兴趣的:(Android架构师之路)