一、鸿蒙的“官方推荐”架构 鸿蒙官方在 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 只能自己写。鸿蒙的“官方推荐”架构MVVM
张小明
前端开发工程师
大模型时代,程序员如何从焦虑到掌控:一人打造完整产品的实践
文章分享了作者在大模型时代的实践与思考,通过两个AI编程项目展示大模型如何帮助个人高效开发。作者指出AI发展速度惊人,一个人就能完成团队工作,未来可能是产品经理的时代。面对AI带来的挑战,普通人应培养使用大模型的习惯&#…
2026年AI胜负手:MAS多智能体协作系统,程序员必学的新一代AI技术
文章指出2026年将成为多智能体协作系统(MAS)的元年,科技巨头如马斯克、OpenAI、Google、微软和英伟达纷纷布局。资本市场已有沃尔玛、美国运通等企业成功案例,MAS驱动业绩大幅提升。文章强调2025年AI主要降本,而2026年MAS将帮助客户实现大规模…
【Python图像处理】告别PSD:如何利用AI技术实现“无源文件”的图片自动化修改?
Python 计算机视觉 图像逆向 自动化工具 跨境电商摘要在传统的电商美工流程中,修改图片的前提是拥有 .psd 或 .ai 源文件。然而,在跨境电商的实际业务中(如 1688 采集、供应商数据包),卖家往往手中只有一张“压死”的 …
【论文自动阅读】SemanticGen: Video Generation in Semantic Space
快速了解部分 基础信息(英文): 1.题目: SemanticGen: Video Generation in Semantic Space 2.时间: 2025.12 3.机构: Zhejiang University, Kuaishou Technology (Kling Team), CUHK, DLUT, HUST 4.3个英文关键词: Video Generation, Semanti…
基于STM32的智能家居安防系统设计
第2章 总体设计方案 2.1基于STM32的家居安防系统设计 2.1.1系统功能需求 (1)温湿度检测功能 家居环境温湿度是直接影响居住环境舒适度的一个重要因素,冬天人体适宜温湿度为:温度18℃25℃,湿度30%80%;夏天人体适宜温湿度…
基于stm32的四旋翼无人机的设计——飞行控制系统软件设计
2 四旋翼无人机设计总体思路 确定无人机基本需求,主要包括无人机的功能、性能、成本、功耗、尺寸和重量等。确定这些之后,就可以针对这些需求进行硬件模块的选择以及软件的初步构思。 对无人机进行系统设计,把实际问题转变为工程问题…