这是我参与「第四届青训营 」笔记创作活动的的第1天
移动互联网本质上还是人与人之间的关系
- 产品经理从用户收集需求,从世界收集信息,整理提供给客户端
- 客户端负责实现需求开发软件
- 用户通过客户端开发的软件与世界交流
对于客户端开发来说
1.对外(用户):提高为用户创造的价值
- 页面+逻辑+数据
- 多样性需求(不同的产品满足各种需求)
- 体验+质量+安全+个性化
2.对内(公司):使公司降低成本
- 提高个人效率
- 架构师梳理提升团队效能
- 工程架构、业务架构、流程管理、跨平台开发
3.自身(个人):物化成商品提高对资本的价值
- 提升工作效率:减少被耽搁的时间
- 代码质量、业务理解、合作能力
- 培养自己的长处,打造自身技术高度
- 培养综合素养:思维、认知、开放
程序员发展的几个阶段
- 从毕业到成为一个靠谱的工程师,完成编码工作
- 开始负责重要的项目,拥有开发和思考的能力
- 向细分领域细化(技术专家、架构师、技术管理)
- 成为领域中的大佬(资深专家、大型架构设计师、大型团队负责人)
- 成为行业领先
Android系统的组成
- 系统应用层:App
- API层:给开发者提供的接口,基于接口打造App,实现对外第一层交付内容
- 原生C/C++层&Runtime虚拟机:满足多样化需求
- 硬件层:相机、传感器、蓝牙等
- Linux内核:线程管理、内存管理
APK的构成
- AndroidManifest.xml:四大组件、权限等
- classes.dex:代码
- res文件:资源目录(包括xml文件)
- lib文件:C/C++编译成的so文件
- META-INF文件:存在签名和证书,用于校验和安全