赞
踩
应用框架,简单来说可以理解为面对开发者的一个应用接口。我们可以简单来看,左边就是部署态的示意图们可以看出部署态有UI描述,业务逻辑代码,共享库,配置文件来组成。一般来说,我们的应用会有我们的组件,布局还有实现交互作用的业务逻辑代码,还有我们业务逻辑实现需要的第三方库和SDK以及我妈们的配置文件。当然我们也会有对应的一个运行态,资源管理等来将UI页面展现在用户的面前,当然在运行的时候也会进行一些包管理,任务管理等来辅助我们的程序执行。借助API和Kits等来实现我们软件的一些基本业务功能。
我们在HarmonyOS将代码打包成一个app,这个app是由很多hap组成的,app打包完成后就会上传到云端,在云端会对我们的app进行检验和拆包,以实现我们app的基本功能和展现,根据不同的设备以及我们的hap功能等,我们就会部署到应用市场,然后在我们的端测侧,我们下载app就会将我们的app打包下载到我们的设备,我们的app运行主要包括了我们的UI和我们Ability。
Ability 是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个 Ability),HarmonyOS 支持应用以 Ability 为单位进行部署。Ability 可以分为 FA(Feature Ability)和 PA(Particle Ability)两种类型,每种类型为开发者提供了不同的模板,以便实现不同的业务功能。你可以把我们的Ability理解为我们在鸿蒙开发里的一个基本单元,一个 Page 可以包含多个 AbilitySlice,但是 Page 进入前台时界面默认只展示一个AbilitySlice。默认展示的 AbilitySlice 是通过 setMainRoute() 方法来指定的。如果需要更改默认展示的 AbilitySlice,可以通过 addActionRoute() 方法为此 AbilitySlice 配置一条路由规则。此时,当其他 Page 实例期望导航到此 AbilitySlice 时,可以在 Intent 中指定 Action。 addActionRoute() 方法中使用的动作命名,需要在应用配置文件( config.json )中注册。
现在我们知道这个Page Ability是主要负责页面交互的,那么就可以理解为Android 的Activity。那么都知道Activity有生命周期,同样的Page Ability也是的。下面来看看它的生命周期。
声明周期分别是 onStart() 、 onActive() 、 onInactive() 、 onBackground() 、 onForeground() 、 onStop()。
我们的Ability分成服务Ability和数据Ability。服务Ability 和数据Ability,就是服务能力和数据能力。Service用于提供后台运行任务的能力。Data 用于对外部提供统一的数据访问抽象。在配置文件(config.json)中注册 Ability 时,可以通过配置 Ability 元素中的“type”属性来指定 Ability 模板类型。
在HarmonyOS设计中,是允许我们的外度的与安全服务的,其实我们的app是可以灵活组装,灵活多变的,它除了我们的一些公共线程外,也是有一个其他的元服务线程。这个其他的元服务可以来自其他的设备也可以来自云侧,这也就体现了我们HarmonyOS的一个底层互联的能力。
在我们HarmonyOS app开发中,主要有两种方式,一种是命令式,一种是声明式,在目前看来,华为HarmonyOS app开发主要还是依靠Java来进行开放,目前主推语言依然是Java。
通过Java的一个多线程开发,我们的zpp组件,布局,其实最终是交给我们的GPU来进行渲染,从而让用户进行使用,我们Java UI 的一个开发也就是一个组件优化过程和处理,以及底层逻辑的实现。
喜欢本推文的可以点点关注哦。以后会继续发布关于HarmonyOS开发的博文的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。