首页 > 行业动态 >浅淡app开发框架

浅淡app开发框架

2021-09-23

从开发的角度来看,App的运行是在一定的框架内进行的,而这个框架以四大组件为基础,通过系统提供的特性支持,来完成具体的业务逻辑。所以在框架基础的前提下,个人理解将开发分几个方向:

App软件开发方向

从开发的角度来看,App的运行是在一定的框架内进行的,而这个框架以四大组件为基础,通过系统提供的特性支持,来完成具体的业务逻辑。所以在框架基础的前提下,个人理解将开发分几个方向:

  • UI部分:以屏幕呈现为最终目的的相关内容,以Window、Activity、View体系为主的图像呈现;
  • 业务开发:这部分主要是通过系统支持、第三方依赖库等支持,完成具体的业务逻辑;(主要是通过多线程,结合四大组件完成);
  • NDK开发:以JNI为基础,将业务转移到Native层,通过C/C++实现
  • 混合开发:包括HTML5、Flutter、RectNative等跨平台的解决方案
  • 应用优化:针对应用(包括原生以及跨平台的app)的性能问题,其中包括内存、耗电、磁盘IO、网络,以及APk安装文件等方面的优化处理;
  • 底层开发:主要以系统的Framework支持外核心,扩展到Linux内核相关特性的修改(ROM层面的开发)

UI部分是app开发的核心


UI部分主要以屏幕硬件为载体,通过SDK支持进行图像的绘制呈现,具体学习知识点有:

  • 应用层:View体系基础知识,通过这阶段的学习,可以通过已有View/ViewGroup完成内容布局:
    • 屏幕坐标系
    • 原生以及第三方依赖库的View/ViewGroup的使用
    • xml基础
    • Activity组件的使用
    • 动画
  • View体系的高级内容,这个阶段包括几部分的内容:
    • View绘制流程——自定义View
    • 事件分发机制——结合View树的触摸事件、滑动冲突等用户操作事件处理
    • MeasureSpec
    • 图像绘制:Surface、Canvase、Paint、OpenGL等绘制API,记录
    • ***使用绘制API结合View的绘制流程,再通过一些数学方面的知识支撑具体的形状绘制
  • 屏幕适配:主要目的是为了优化布局的显示,主要有两种方案:
    • 针对不同尺寸的屏幕,提供一份对应的布局设计
    • 通过给屏幕指定一个固定的宽度或高度,这个固定值为基础,重新定义转换成px的比例(也就是屏幕密度)
    • 这里涉及了一些单位的相关概念,其中包括dp/px/sp/dpi等单位,需要了解这些这些单位的定义、以及转换关系
  • 实现原理:
    • 动画实现的内部原理
    • View绘制流程Framework侧源码跟踪分析
  • 系统的核心服务支持:
    • ActivityManagerService
    • WindowManagerService
    • SurfaceFlinger

上一篇: 定制微商城与平台微商城有什么区别?
下一篇: 采购ERP系统要做好哪些维护?它的发展怎么样?