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

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

用最生活化的例子,把这两个听起来高大上的词儿掰扯清楚!想象一下你要开个果汁店🍹(该果汁店就是您的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模型开发概述

http://www.dtcms.com/a/337568.html

相关文章:

  • 【JavaEE】多线程 -- 阻塞队列
  • 使用WinDbg对软件崩溃信息进行抓包的方法
  • 决策树学习笔记
  • Linux内存管理系统性总结
  • RabbitMQ:数据隔离
  • 代码随想录刷题Day36
  • 大数据时代时序数据库选型指南:深度解析与 Apache IoTDB 实践
  • 3D检测笔记:基础坐标系与标注框介绍
  • 【Langchain系列五】DbGPT——Langchain+PG构建结构化数据库智能问答系统
  • Pageable 菜教程
  • AI应用商业化加速落地 2025智能体爆发与端侧创新成增长引擎
  • BeeWorks 私有化会议系统:筑牢企业会议安全防线,赋能高效协同
  • 敏感数据加密平台设计实战:如何为你的系统打造安全“保险柜”
  • 高防IP如何实现秒级切换?
  • 技术赋能安全:智慧工地构建城市建设新防线
  • AR技术为消防救援装上“智能透视眼”
  • K8s的命名空间需要创建吗
  • 容器化 Android 开发效率:cpolar 内网穿透服务优化远程协作流程
  • Redis主从架构、哨兵模式及集群比较
  • 利用深度强化学习进行芯片布局
  • 【1:1复刻R版】python版火山图函数一键出图
  • iOS 正式包签名指南
  • 【LeetCode】15. 三数之和
  • 从财务整合到患者管理:德国医疗集团 Asklepios完成 SAP S/4HANA 全链条升级路径
  • 贪心算法(Greedy Algorithm)详解
  • 【机器学习】Macro-F1(宏平均 F1)是什么?
  • SWMM排水管网水力、水质建模及在海绵与水环境中的应用技术-模拟降雨和污染物质经过地面、排水管网、蓄水和处理
  • Jenkins启动端口修改失败查找日志
  • 音频算法工程师技能1
  • Vue2篇——第五章 Vue.js 自定义指令与插槽核心