Android客户端预习一 | 青训营笔记
这是我参与「第四届青训营 」笔记创作活动的的第1天
什么是客户端?
当前,互联网世界中人们所使用的设备越来越多,但是几乎将人与互联网连接最便捷的设备就是手机。人们通过手机上的app即可快速的访问到和PC端一致的内容信息。从我个人的角度来看客户端,发现客户端的发展有以下几个阶段:
- 将PC或网页端的内容生硬的COPY到手机上
- 渐渐地将APP不断地优化,添加更多的人性化功能,完善设计,达到可以和PC端有相似的用户体验
- 到现如今充分地运用手机便捷、门槛低的优势,开发出适用于手机的APP,例如抖音,淘宝等等。这些应用有的是APP端使用比网页端方便,有的甚至没有PC端或者网页端
由此可见,手机端的应用逐渐地成为了各大互联网公司的开发重点,那么如何将产品的交互、功能尽可能的做到最好,是作为程序员应当关注的点。
客户端的追求
对于开发客户端来说,我们要注重的三个方面分别是:
- 对外,也就是用户,为用户创造价值才是客户端开发的本质
- 对内,也就是公司,如何在保证产品质量的前提下,尽可能的降低成本,这是公司所需要的
- 自身,也就是程序员本人,如何通过自己的知识来保证成本的前提下提供给用户更好的产品是需要关注的点。
如何创造价值?
基本需求
作为客户端,首先要满足用户的需求。要有直观的页面,符合操作的逻辑与稳定的数据传输。
多样性需求
在完成了基础需求的基础之上,可以通过增添更多的形式来为自己的客户端增加内容,通过视频,图像,直播等等模块,完善一个客户端,进而可以吸引到更多的客户。
深层次需求
在增添了更多的客户端模块后,如何将符合用户口味的模块精准的推送到用户,如何保证用户的体验,这些高等级的需求应运而生。这就需要客户端的开发人员可以不断地优化程序,优化代码,并且通过多部门的协同,保证客户的深层次需求可以顺利的满足
如何减少成本 && 如何提升自己
在我看来,这两点是相辅相成的。只有每一个程序员不断地提高自身的能力,这里指的不仅仅是coding的能力,也是团队协作与配合的能力,才能在个体层面减少成本。相反的,只有整个团队或者公司不断地优化框架,优化结构,在过程中使得每个程序员可以完善自己的思维,提升自己,相辅相成,这样才能在公司层面做到减少成本。
Android系统
Android系统架构
安卓的系统架构分为五层,大体上来说为:
- Linux内核层
这一层为Android设备提供了底层的驱动
- 硬件抽象层
提供硬件组件的封装,包括相机传感器等等
- Android Runtime层 && C/C++层
这一层会把DEX字节码进行编译,优化执行效率。
也有一些核心的服务和组件是使用C/C++编写的,可以用Android NDK来访问某些原生平台库
- Java API层
这一层主要是提供给开发者的接口,可以通过这些接口来开发APP
- 系统应用层
开发层,所有开发的APP都位于这一层。
