记录下我理解的安卓,鸿蒙,ios, rn , fullter, Jetpack Compose,react 的相似与不同

前提说明本人注重实操对理论的理解有可能不对

首先生产环境的编译产物

flutter, ios 都是机器码

原生安卓(kotlin ,java) 、原生鸿蒙都是字节码 +机器码混合通过虚拟机ART 在跑

开发环境的编译产物

支持热更新 :fullter ,鸿蒙

fuller:重新生成部分代码 通过vm替换代码,重新rebuild,再diff对比 进行 热更新

鸿蒙:重新执行改动函数代码 ,再通过diff对比, 热重载 ,

不支持热重载: 安卓,ios

安卓:类结构变更困难,生命周期复杂(Activity),工具链限制(Android Studio)

ios: 历史原因他的 vm runtime 不像原生android 或者fullter 支持代码加载和编译,仅仅只是管理 函数执行和调度

视图更新:fullter , react , Jetpack Compose,鸿蒙

fluller, react ,鸿蒙 都存在树状虚拟dom , 然后diff对比 ,找差异更新

Jetpack Compose 是数组 (slot-table)存 虚拟dom 类似

\[Group START: CounterSlot: remember -\> doubledGroup START: Text("Count")Group ENDGroup START: Text("Doubled")Group ENDGroup END: Counter] 这个list就是他的组件树, 组件的更新也存在diff对比不过和 flutte、react、.鸿蒙不同的先生成虚拟dom再对比不同 ,他是直接找到组件所对应的index 范围 , 执行组件函数形成一组新的数据,对比原生组件的index范围内数据进行更新

相关推荐
世人万千丶24 分钟前
鸿蒙Flutter Flex多子组件权重分配
学习·flutter·华为·harmonyos·鸿蒙
GitLqr1 小时前
Flutter 无障碍开发实战:玩转 Semantics 解决视障用户使用痛点
android·flutter·dart
拥抱太阳06164 小时前
HarmonyOS 应用开发《掌上英语》第23篇-图标与颜色系统构建可主题化视觉体系
华为·harmonyos
雨白5 小时前
掌握 NestedScrolling 嵌套滑动:手写仿知乎折叠主页
android
红烧大青虫5 小时前
HarmonyOS应用开发实战:小事记 - UIAbility 的冷启动/热启动/后台启动三种场景与 launchParam 解析
后端·华为·harmonyos·鸿蒙系统
b130538100496 小时前
HarmonyOS应用开发实战:小事记 - 多级页面路由的 back 逻辑与参数回传模式
华为·harmonyos·鸿蒙系统
MonkeyKing6 小时前
鸿蒙ArkTS Text组件全解析:全属性详解+富文本实战
harmonyos
花开彼岸天~6 小时前
鸿蒙原生开发手记:徒步迹 - 自定义组件开发规范
后端·华为·harmonyos·鸿蒙系统
Xzaveir6 小时前
别把所有“认证”都塞进 AuthService:实名、一键登录与号码身份的领域拆分
android·人工智能
BerrySen1786 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能