FA模型与Stage模型在设计哲学上的区分是什么?FA模型的应用组件分类PageAbility、ServiceAbility及DataAbility有点类似于经典三层(MVC?),从命名上来看工作职责很清晰,并无主次之分。Stage模型是以UI(用户侧)为主了么,其余都是扩展?

北向实践与赋能 显示全部楼层 发表于 2024-1-11 17:34:09

FA模型与Stage模型在设计哲学上的区分是什么?FA模型的应用组件分类PageAbility、ServiceAbility及DataAbility有点类似于经典三层(MVC?),从命名上来看工作职责很清晰,并无主次之分。Stage模型是以UI(用户侧)为主了么,其余都是扩展?

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

北向实践与赋能

沙发 发表于 2024-1-11 17:34:38

FA模型与Stage模型在设计哲学上的区分是什么?FA模型的应用组件分类PageAbility、ServiceAbility及DataAbility有点类似于经典三层(MVC?),从命名上来看工作职责很清晰,并无主次之分。Stage模型是以UI(用户侧)为主了么,其余都是扩展?

关键字 设计思路、开发模型、模型设计、Ability、Extension

解决方案 FA模型适用于熟悉Web前端技术的开发者,开发轻量的、偏重于UI展示类的应用。在应用使用过程中,发现这种模型存在一定的适用范围: 通过固定文件入口和匿名对象的方式指定组件,虽然对Web开发者比较友好,但是开发者无法进行派生,不利于扩展能力。 Service和Data组件,由于没有界面,用户不可感知,容易被恶意应用滥用,引入关联启动等问题。 每个应用组件的实例运行在独立的虚拟机实例中,会带来较多的内存开销,并导致组件之间无法共享状态。 为了支持大型应用面向对象的范式开发,在遵循"若无必要,勿增实体"原则下,从下面三点设计新的Stage模型: 应用的能力与系统总体性能/功耗的平衡 原生支持组件级的迁移和协同 支持多设备形态和多窗口形态 FA模型的PageAbility、ServiceAbility、DataAbility不等同于MVC,三类Ability分别是承载UI、后台服务和后台数据组件,无主次之分,但是某种程度上MVC中View背后的PageAbility既要完成ui的工作又要做controller的活。 Stage模型是以UI为主的开发模型,UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互,其它对系统或三方提供能力都是通过扩展Extension实现。Extension都是基于某个特定场景,由系统统一调度管理,相比FA模型,达到后台进程环境从无序到有序的状态。

参考资料 https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/application-models/application-model-description.md/

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部