移动生态
首先我们来看移动互联网的一个简单架构。
其实理解起来很简单,人需要了解世界上的内容,手机在这里起到一个媒介的作用。但是这里,表面看起来是人与机器的关系,实际上还是人与人的关系。
那么这里客户端其实就是离用户最近的研发。
Android知识图谱
未来我们会面向各种不同的研发,虽然用户群体是很复杂的,但是抽象简化下来其实就是三个角色。
- 对外(用户):为用户创造价值。
对用户其实存在三个递进层次的交付。
第一层交付,其实就是简单交付,这里包括页面、逻辑和数据。页面中包括Android基础和复杂View视图层;逻辑包括语言和代码结构;数据包括网络和存储。
第二层交付其实就是多样性的需求。这里包括视频、直播、AR、图像和游戏。
第三层交付其实就是深层次需求。包括体验、质量、安全和个性化。 - 对内(公司):减少公司成本。 对内分为单人效能和团队效能。其中单人效能受编译、CICD和工具影响;团队效能受工程架构、业务架构、流程管理和跨平台管理。
- 自身(个人):自身也是产品,自身的技术品牌
自身其实也有三个递进的层次的交付。
第一层是要满足基本技能。首先是Android系统基础,然后语言也要熟练,最后也要有程序员的基本素养。
第二层是要提高自身的技术高度。那首先是系统底层要熟悉,然后还有架构设计和业务能力要深。
第三层就是要培养自己的综合素养。那么首先是深度思维,然后是自己的认知,最后是开放的心态。
认识Android系统
首先来看Android系统的结构图。
可以看到Android系统其实分为五层。
- 系统应用层(System Apps)也就是我们开发的App所在的地方。
- Java API层则是最基础的交付内容,包括页面+逻辑+数据。
- 原生C/C++层和Android Runtime层可以满足多样化的需求,例如音视频编解码、安全、质量、体验等。
- 硬件抽象层(HAL)主要提供硬件组件的封装。
- 而Linux的内核就是Android平台的基础。
认识Android开发工具
Android开发的IDE是Android Studio。通过下方网址就可以下载
Download Android Studio & App Tools - Android Developers (google.cn)
另外,版本控制工具还要用到Git,下图是一张Git命令的速查表。
通过该表我们可以很快地上手Git进行项目版本控制了。