应用程序框架与应用模型的区别
应用框架可以看做是应用模型的一种实现方式,开发人员可以用应用模型来描述应用程序的结构和行为的描述,然后使用应用程序框架来实现这些描述。
应用模型
应用模型是一个应用程序的模型,它是一种抽象的描述,用来描述一个程序的不同方面。例如应用组件,进程模型,线程模型,任务管理,以及包管理。应用模型提供了一种统一的语言和架构来描述应用程序的各个方面。应用模型可以帮助开发人员更好的理解应用程序的架构和设计,从而更有效的利用应用程序框架。
应用框架
应用程序框架是一种编程框架,用来简化应用程序的开发过程,提高代码可重用性和可维护性,可以帮助开发人员更快更高效的开发应用程序。
Stage应用模型
Stage应用模型对开发者实现中目标如下
Stage模型应用程序包结构
开发时包结构
编译态包结构
发布态包结构
上述图中出现了打包后的结构,里面有一些 .hap, .hsp 之类的文件格式,下面我们讲一下这些文件格式. 这些格式的文件都是包.格式是不一样的,里面有区别. 它们是多模块开发,模块的编译产物. 对于模块而言,分为三类,对应编译出来的包文件格式也是三类.
模块分类为: Ability类型, Static类型, share类型. 类型在 module.json5文件中进行声明.
对应关系是
- Ability类型-entry,feature 都是 打印出hap包
- static类型- har - 打印出 har包
- share类型 - 选share - 打印出 hsp包
每一个应用中至少要含有一个hap文件的,或许会包含若干个hsp文件,也可能不包含. 一个应用中所有的 hap文件与所有的hsp文件合起来称之为bundle, 其对应的boundleName是 app.json5中声明的,是一个唯一标识.
当应用打包上架时候,需要将blundle打包为一个app格式的文件进行上架, 这个.app文件我们称之为App Pack.与此同时, DevEco Studio工具会生成一个pack.info文件,描述每一个 HAP和HSP文件的属性,包含APP中的bundleName和versionCode信息、以及Module中的name、type和abilities等信息。
应用的签名,云端分发,端侧安装时,都是以HAP,HSP为单位进行签名,分发和安装的。这在一方面体现了,可分可合的特点。