这是我参与「第四届青训营」笔记创作活动的第1天。
1 客户端开发者面对的角色
课程从对外、对内和自身三个方面讲述了客户端开发者需要面对的角色。下面按照这三个方面总结其交付内容及需要掌握或了解的知识。
1.1 对外
对外面对的是用户,其核心是为用户创造价值。
在对外的第一层交付中,需要关注的是页面、逻辑和数据。页面可分为Android基础和复杂View;逻辑包括语言和代码结构;数据包括网络与存储。
在对外的第二层交付中,关心的是多样性需求。以一个实时特效拍摄功能为例,页面数据需要几千行,代码逻辑需要一万行,底层则需要几万行。为了满足多样性需求,可供学习的技术方向包括视频、直播、AR、图像、游戏等。
在对外的第三层交付中,需要关心体验、质量、安全、个性化几个方面。这类需求属于深层次需求。
1.2 对内
对内面对的是公司,目的是减少公司成本。
在对内的交付中,第一层交付需要注意单人的效能。编译、CICD、工具是与之相关的技术。
在对内的交付中,第二层交付关注团队效能。可从工程架构、业务架构、流程管理和跨平台方面提高团队效能。
1.3 自身
自身方面,目标是打造自身的技术品牌。
自身方面的第一层交付是一些满足交付的基本技能,对于Android系统来说,需要了解的有基本功能开发、Framework与系统。同时,需要熟练使用语言的基本特性,掌握语法和高效的写法。此外,还包括代码质量、业务理解、协同合作等基本素养。
第二层交付是打造自身的技术高度。在某个领域可以达到该行业的前20%,可以延长职业生涯;在两个领域达到行业前20%,可以提高天花板。对于Android开发而言,可以考虑在系统底层、架构设计、业务能力三个方面培养自己的技术长板。系统底层可以分为Android原理、Linux内核、Android Runtime。架构设计可以了解大型App的架构和复杂工程的管理方法。业务能力可以通过大型项目协同和组织管理的方式提升。
第三层交付要培养自己的综合素养。综合素养又可细分为思维层面(系统性思维、结构化思维、批判性思维)、认知层面(个人认知和自控力)、开放(技术好奇心、持续学习、开源)。
2 Android平台架构
参见:developer.android.com/guide/platf…
3 其它
课程中还介绍了移动端生态和Git的常用指令。考虑到本篇笔记的标题,不再赘述。
4 总结
本节课程重点介绍了Android开发的技能要求。课程为Android开发工程师的职业发展提供了建议,指明了所需的技能,为Android开发工程师提高自身天花板给出了一些方法。通过本节课程的学习,可以更好地了解Android路线需要学习的内容,并更好地了解接下来的课程体系中,各知识点对应的位置。很多开发技术都可以在客户端平台中体现。需要根据知识体系,不断提升个人能力,为用户创造价值、减少公司成本、打造自身的技术品牌。