鸿蒙中应用框架和应用模型

发布于:2025-08-19 ⋅ 阅读:(13) ⋅ 点赞:(0)

用最生活化的例子,把这两个听起来高大上的词儿掰扯清楚!想象一下你要开个果汁店🍹(该果汁店就是您的APP)。

🏗  应用框架 = 你的果汁店整体布局和工作流程 (舞台和规则)

  • 它是什么? 是支撑你整个果汁店运作的“骨架”、“蓝图”和“规则手册”。它定义了工作怎么组织、步骤怎么走、东西怎么放。

  • 它做什么? 它不直接榨汁!它规定:

    • 顾客在哪里点单 (前台/入口)。

    • 水果在哪里清洗、切块 (预处理区)。

    • 榨汁机放在哪里操作 (核心功能区)。

    • 榨好的果汁在哪里加冰、装饰、打包 (后处理区)。

    • 顾客在哪里取饮料 (取货区)。

    • 店员之间怎么传递任务 (沟通协作规则)。

    • 遇到问题怎么处理 (错误处理机制)。

  • 特点:

    • 提供结构和流程: 它告诉你的店“应该长什么样”,“事情应该按什么步骤做”。

    • 通用性: 同一个果汁店框架(布局和流程),你今天可以用它榨橙汁🍊,明天榨西瓜汁🍉,后天榨混合果汁。你甚至可以把榨汁机换成更高级的型号(换个模型),只要它还能放在那个操作区就行。框架本身不关心你用哪个具体牌子的榨汁机(模型)。

    • 处理“周边”事务: 它操心怎么接收订单、怎么传递水果、怎么处理支付、怎么应对顾客投诉、怎么打扫卫生(对应技术中的请求处理、路由、数据库连接、错误处理、安全等)。

    • 让你更省心: 有了这个框架(标准化的布局和流程),你开店就快多了,店员培训也容易了,你知道每个环节该干嘛。

  • 例子:

    • 你果汁店的标准化装修图纸和操作手册:规定了点单台、操作台、清洗区的位置和工作流程。

    • Web框架 (如 Vue.js, React, Angular - 前端; Django, Flask, Spring Boot - 后端): 它们定义了网页应用的结构:用户点击按钮(输入)后,这个点击事件怎么传到后台(路由),后台怎么处理(调用模型或其他逻辑),处理完结果怎么返回并更新网页(响应)。它们提供了一堆工具和约定,让开发者不用每次都从零开始处理这些基础流程。

    • 移动应用框架 (如 React Native, Flutter): 提供一套统一的规则和组件,让你能用一种方式编写代码,最终生成能在不同手机系统(iOS/Android)上运行的App。

    • 核心:框架是支撑模型运行、组织整个应用逻辑的脚手架和工作流规范。

🧩 应用模型 = 你的榨汁机/菜谱 (核心工具)

  • 它是什么? 就是那个真正干活的东西,负责解决具体问题的“核心能力”。

  • 它做什么? 你把水果🍎(输入)放进去,它按照特定的方式(模型内部的计算规则)处理,然后给你榨出果汁🍹(输出)。

  • 特点:

    • 专注任务: 一个榨汁机就负责榨汁,一个识别猫咪图片的模型就负责识别猫咪。

    • 有“知识”/能力: 榨汁机知道怎么挤压水果出汁;模型通过训练“学会”了识别猫咪的特征。

    • 需要被“使用”: 它自己不会主动运行,需要你把它放进工作流程里。

  • 例子:

    • 你店里那台高级榨汁机:它能把水果变成汁。

    • 一个垃圾邮件过滤模型:它“知道”垃圾邮件的特征,能判断新邮件是不是垃圾。

    • 一个人脸识别模型:它“学会”了识别五官特征,能认出照片里的人。

    • 一个天气预报模型:它分析历史数据,预测明天会不会下雨。

    • 核心:模型是那个有“智能”或“特定功能”的引擎。

🎪 把它们组合起来看你的果汁店 (一个完整应用)

  1. 顾客点了一杯“超级维C橙汁”(输入请求)。

  2. 应用框架 (店铺布局/流程) 起作用:

    • 前台收到订单。

    • 流程规定订单传给后厨。

    • 后厨流程规定:先去水果区拿橙子🍊。

  3. 应用模型 (榨汁机) 干活:

    • 店员把橙子放进榨汁机 (模型)

    • 榨汁机 (模型) 开始工作,把橙子压榨成橙汁 (输出结果)。

  4. 应用框架 (店铺布局/流程) 再次起作用:

    • 后厨流程规定:榨好的橙汁要送到调配台。

    • 调配台店员按流程加冰、放片柠檬装饰。

    • 流程规定:打包好,送到取货区。

  5. 顾客在取货区拿到他的“超级维C橙汁”(最终输出/响应)

📌 关键区别总结 (用果汁店比喻)

特点 应用模型 (榨汁机/菜谱) 应用框架 (店铺布局/工作流程手册)
角色 核心工人/工具 - 干具体的“技术活” 工厂车间/流水线设计 - 规定怎么组织生产
功能 解决特定问题 (榨汁、识图、预测) 组织协调、处理流程、提供基础设施
关注点 “输入->内部计算->输出” 这个核心转换过程 请求怎么进来、怎么分发、结果怎么出去、怎么处理错误、怎么连接数据库等“外围”事务
通用性 专用性强 (榨汁机不能切菜) 通用性强 (同一套流程可以生产不同产品)
可变性 容易更换 (换个更好的榨汁机/模型) 比较稳定 (店铺布局和核心流程不会天天变)
依赖关系 需要被框架“调用”和“放置”在流程中 为模型的运行提供“舞台”和“上下文”
类比 演员 (负责表演特定角色) 舞台、剧本、导演 (负责整个表演的组织协调)

应用框架(Application Framework)—— 相当于“工厂流水线”

作用:定义应用的基础结构和开发规范,提供通用能力(。
核心模块

  • Ability框架:HarmonyOS应用的基本组成单元(类似Android的Activity)FA和Stage

  • UI框架:提供声明式UI开发范式(ArkUI),通过组件布局快速构建界面。

  • 分布式框架:实现跨设备协同(如手机调用电视摄像头)。

举个栗子🌰

你要建一个汽车工厂(开发应用):

  • 应用框架 = 工厂的标准化流水线

    • 规定生产流程(生命周期管理),

    • 提供通用工具(UI组件、网络接口),

    • 支持多车间协作(跨设备调度)。
      开发者只需在流水线上“组装零件”(写业务逻辑)

Stage模型是什么?用电影院模式秒懂(5分钟)

核心比喻
把应用运行过程比作电影拍摄现场:

  • 导演 = Stage(总控生命周期)

  • 演员 = Ability(承担具体功能)

  • 舞台 = Window(界面容器)

  • 剧本 = UIAbility + ExtensionAbility

互动提问
"如果演员罢工(Ability异常退出),整个剧组会停拍吗?"
→ 带出Stage模型的多Ability独立运行特性

Stage vs FA模型:终结者之战

对比实验

场景 FA模型 Stage模型
多任务处理 像挤地铁(资源竞争) 独立VIP包间(进程隔离)
启动速度 老式电梯层层停 磁悬浮直达目标层

技术梗
"FA模型像是合租室友共用卫生间,Stage模型则是精装公寓独立卫浴!"

Stage模型四大超能力

超能力1:分身术
→ 演示同一应用多窗口独立运行(如边聊天边刷商品)

超能力2:瞬间移动
→ 跨设备流转动效演示(手机→平板→智慧屏)

超能力3:读心术
→ 统一上下文管理(用户偏好自动同步案例)

超能力4:金刚不坏
→ 异常隔离机制(模拟某个Ability崩溃不影响其他模块)

Stage模型开发概述


网站公告

今日签到

点亮在社区的每一天
去签到