当前位置: 首页 > news >正文

鸿蒙的“官方推荐”架构MVVM

一、鸿蒙的“官方推荐”架构 鸿蒙官方在 ArkUI/ArkTS 和 Java HarmonyOS Ability 开发里,推荐用: 1.MVVM(官方最推) ArkUI/ArkTS 天然支持 数据驱动,也就是 MVVM 核心思想: Model:数据实体,普通类或 JS 对象 ViewModel:@Observed, @State, @Computed 等管理状态 View:ArkUI Column, Row, Stack 等 UI 组件 数据变化 → UI 自动刷新(无需手动 findView/updateView) 典型标志: @Observed class DeviceData { batteryPercent: number; online: boolean; } @Component struct DeviceItem { @ObjectLink data: DeviceData; build() { Column() { Text("电量: " + this.data.batteryPercent + "%") } } } 这个就是 ArkUI 的 MVVM 核心方式。 2.MVP / MVI(非官方也可用) MVP: Model: 数据实体 View: ArkUI 页面 Presenter: 普通 TypeScript / Java 类负责业务逻辑 这种方式在鸿蒙 Java 端和 ArkUI 前端都可以实现,但不如 MVVM 官方支持好。 使用场景:你想完全分离逻辑和 UI,类似 Android 老项目迁移。 MVI: 也是数据驱动,但强调 状态不可变 + 单向数据流 对于复杂页面(设备列表、巡检表格、地图轨迹)非常适合 二、鸿蒙开发特点与 Android 不同点 # Android 与 鸿蒙 ArkUI/ArkTS 特性对比 | 特性 | Android | 鸿蒙 ArkUI / ArkTS | |------|---------|------------------| | **数据绑定** | LiveData / ViewModel | `@State`, `@Observed` | | **UI 组件** | XML / Jetpack Compose | Column, Row, Stack, Text, Image | | **事件绑定** | `setOnClickListener` | `onClick={() => {...}}` | | **生命周期** | Activity / Fragment | Ability + Component | | **官方推荐架构** | MVVM + Jetpack | MVVM + ArkUI | 总结:鸿蒙官方就是 ArkUI + MVVM,几乎天然支持,直接用 @Observed/@State 就能做双向绑定。 三、鸿蒙项目常用 MVVM 模式结构 project/ │ ├─ model/ # 数据模型 │ └─ Device.ts │ ├─ view/ # 页面组件 │ └─ DevicePage.ts │ ├─ viewmodel/ # 管理状态、提供数据 │ └─ DeviceViewModel.ts │ ├─ service/ # 网络/设备/数据库服务 │ └─ DeviceService.ts └─ utils/ 使用方法: ViewModel 中保存状态 View 使用 @Observed 或 @State 绑定 ViewModel 数据 数据变化 → UI 自动刷新,无需手动更新 四、安卓开发经验迁移到鸿蒙 LiveData → @Observed/@State ViewModel → ArkTS/Java 对应 ViewModel 类 DataBinding / Jetpack Compose → Column/Row/Stack + build() MVP 的 Presenter → ArkTS 类 + 自己调用更新函数 核心区别:鸿蒙更偏 声明式 + 数据驱动,MVVM 天然支持,MVP 只能自己写。
http://www.jsqmd.com/news/253701/

相关文章:

  • 地产AI营销内容榜单:原圈科技领航,解构高增长新范式
  • 收藏!大模型智能体(Agent)入门:从概念到ReAct范式实操全解析
  • 2026出海GEO榜单发布!原圈科技如何凭AI破解增长焦虑?
  • 深度解析 Elasticsearch 8.13.4 范围查询 DSL
  • 【收藏级】RAG技术全解析:从原理到实战,小白也能搞定大模型知识增强
  • 【Day31】Web 开发入门:HTTP 协议详解(请求 / 响应、状态码、请求头)
  • GEO服务商榜单:不懂AI搜索优化?2026首选原圈科技
  • Elasticsearch 8.13.4 地理范围查询实战指南
  • 2026跨境GEO服务商测评:破解获客焦虑,原圈科技领跑AI增长
  • IntelliJ IDEA 配置插件目录
  • 【Day32】Tomcat 服务器:安装、配置与 Web 应用部署
  • GEO服务商深度评测榜单:原圈科技凭何领跑AI营销赛道?
  • 瑞维美尼:全球首款menin抑制剂,以靶向创新改写难治性白血病格局
  • 收藏级干货!RAG核心原理+实战场景全解析,小白也能懂的大模型必备技术
  • GEO服务商榜单:Jeep、国金证券力荐,原圈科技如何领跑AI营销?
  • 适应症双扩+缓解率超70%:瑞维美尼的临床疗效与适用人群
  • 30岁转行逆袭:从建筑到AI,斩获北美大厂offer的蜕变之路
  • 口腔伤口可以用什么药物促进愈合
  • 无线智能小车的软件设计与实现
  • AI大模型入门必看:AGI、RAG、AIGC核心概念详解,收藏不迷路
  • 伤口结痂后还有必要使用促进愈合的药物吗?
  • SSL/TLS 协议详解:安全通信的基石
  • AI智能体规划模式教程(超详细)从零基础到实战应用,一篇全掌握,建议收藏!
  • 小白必学!RAG与向量数据库完全指南,5分钟掌握大模型核心技术
  • 无线LED照明系统
  • 30岁转行AI大模型,别让时间再浪费!收藏这份高薪学习资源包_30岁转行AI大模型!
  • MB51和MB52的区别,分别在什么情景下使用
  • 理想全模态大模型团队实战:从零打造智能工具,解决企业真实痛点,程序员必看技术落地案例
  • DNS服务协议有哪些?
  • 基于AI技术的11款论文工具,融合LaTeX排版与内容精修能力