记录下我理解的安卓,鸿蒙,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: Counter,Slot: remember -\> doubled,Group START: Text("Count"),Group END,Group START: Text("Doubled"),Group END,Group END: Counter] 这个list就是他的组件树, 组件的更新也存在diff对比不过和 flutte、react、.鸿蒙不同的先生成虚拟dom再对比不同 ,他是直接找到组件所对应的index 范围 , 执行组件函数形成一组新的数据,对比原生组件的index范围内数据进行更新

相关推荐
驰骋工作流13 小时前
流程时效考核的表结构:从待办时限到 WF_CH 考核结果驰骋BPM驰骋低代码低代码工作流引擎
android·低代码·rxjava
传奇开心果编程14 小时前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
用户09340777351416 小时前
HarmonyOS WPS Open SDK 工程实践:把 registerApp 做成就绪门禁
typescript·harmonyos
方白羽18 小时前
Android 双开环境底层剖析与风控检测落地
android·安全·app
weixin_5633714718 小时前
Android Studio 2024 版 Device Explorer 打开方法
android·ide·android studio
大雷神19 小时前
HarmonyOS7应用《拼棋派对》实战:双人键盘操作与窗口焦点恢复
harmonyos·arkui·harmonyos 7.0·玩转 arkts
2501_9462447821 小时前
开源鸿蒙平台 CMP 三方库「compose-continuous-rounded-corner-shape」适配全流程
华为·开源·harmonyos
KevinChaos21 小时前
灶台菜谱设计手记 03|HarmonyOS 7.0 空间化:沉浸光感反馈
harmonyos
AIsoft_868921 小时前
职场音频文件怎么整理?录音APP有哪些用法
android·音视频
大雷神21 小时前
HarmonyOS7应用《拼棋派对》实战:折叠屏与电脑的窗口布局适配
harmonyos·arkui·harmonyos 7.0·玩转 arkts