安卓&鸿蒙应用开发架构变迁

即将离职,简要总结下近几年学习安卓&鸿蒙开发架构,也许后期还会用上,选择合适的框架。

安卓应用:
阶段1: 最早期看的很多安卓应用课程,都是每个页面是一个activity,通过xml布局+java业务,通过findViewById找到界面元素,并操作对象属性和事件。在源 Activity 的某个事件处理方法(如按钮点击事件)中创建 Intent,并调用 startActivity() 方法启动目标 Activity。使用AsyncTask&Handler解决在非UI线程执行耗时操作。
阶段2: 引入constrainlayout相对布局简化界面布局。
阶段3: 引入了livedata+viewbinding+databing+MVVM: 在xml中引入<data>,在java中自动获取绑定对象,并与vm的数据绑定。 --个人业余时间做的"修车项目"采用的是这个架构,后续有机会再用后续的架构来尝试,当时记得是从谷歌的一个todolist框架里选出来的(含mvc/mvp/mvvm多个架构)。
阶段4: 引入navigation调用,采用单activity,并通过navigation在多个fragment中跳转
阶段5: java-->koltin ,并使用Kotlin 协程解决耗时操作。 -- 个人学习课程:https://www.bilibili.com/video/BV1Ap4y167gV 代码:https://github.com/stevdza-san/To-Do-App-Kotlin
**阶段6:**引入jetpack compose,使用声明式语法开发组件,把fragment换成@composeble组件 --待学习课程:https://www.bilibili.com/video/BV1ZV4y1y7KN

鸿蒙应用:
阶段1: 双框架java版本ability
阶段2: 类web范式
阶段3: FA ets声明范式
阶段4: Stage artkTS声明范式,线程隔离,taskpool --个人学习到这个位置(HarmonyOS 5.0/5.1)
**阶段5:**artkTS+

相关推荐
yan123684 小时前
Linux 驱动之设备树
android·linux·驱动开发·linux驱动
aningxiaoxixi6 小时前
android stdio 的布局属性
android
CYRUS STUDIO7 小时前
FART 自动化脱壳框架一些 bug 修复记录
android·bug·逆向·fart·脱壳
寻找优秀的自己8 小时前
Cocos 打包 APK 兼容环境表(Android API Level 10~15)
android·cocos2d
大胃粥9 小时前
WMS& SF& IMS: 焦点窗口更新框架
android
QING6189 小时前
Gradle 核心配置属性详解 - 新手指南(二)
android·前端·gradle
QING6189 小时前
Gradle 核心配置属性详解 - 新手指南(一)
android·前端·gradle
_一条咸鱼_12 小时前
Android Runtime内存管理子系统启动流程原理(13)
android·面试·android jetpack
法迪13 小时前
Android的uid~package~pid的关系
android