HarmonyOS 移动应用开发

打印 上一主题 下一主题

主题 981|帖子 981|积分 2943

鸿蒙的历史


2012年,华为公司开始规划自己的操纵体系,名为’鸿蒙‘。
2018年8月24日,华为公司向国家知识产权商标局申请了’华为鸿蒙‘商标,注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日
2019年8月9日,华为正式发布鸿蒙体系,同时表示,鸿蒙操纵体系开源。
2020年8月7日-8日,在中国信息化百人会2020年峰会上,华为公司表示,鸿蒙操纵体系已经应用到华为智慧屏和华为手表上,将来会应用到全场景终端装备上。
2020年9月10日,华为鸿蒙体系升级至2.0版本,即HarmonyOS 2.0,并面向终端装备开源。
2020年12月16日,华为鸿蒙OS正式发布了面向手机开发者的Beta版本,即HarmonyOS 2.0。
2021年6月2日晚,华为正式发布HarmonyOS 2。
2022年7月27日,华为发布 HarmonyOS 3 体系。
2023年8月4日正式发布HarmonyOS 4.0
2024年6月21日鸿蒙开发者大会展示鸿蒙生态、HarmonyOS NEXT 鸿蒙星河版设计理念
 什么是HarmonyOS?

HarmonyOS  中文名字是  鸿蒙操纵体系
HarmonyOS是一款面向万物互联期间的、全新的分布式操纵体系
鸿蒙操纵体系在传统的单装备体系本领的基础上,提出了基于同一套体系本领、适配多种终端形态的分布式理念,能够支持多种终端装备。使得用户在利用时可以在多个终端硬件之间进行很好的切换
HarmonyOS的目的是覆盖“1+8+N”全场景终端装备,这里“1”代表的是手机,“8”代表PC、平板、手表、智慧屏、AI音响、耳机、AR/VR眼镜、车机,“N”代表别的物联网(Internet of Things,IoT)生态产品。
对应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端装备的形态差异无关。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。
对装备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据装备的资源本领和业务特征进行灵活裁剪,满足不同形态的终端装备对于操纵体系的要求。
 HarmonyOS的特性

三个显著技术特性:
1、硬件相助,资源共享
分布式软总线是多种终端装备的统一基座,为装备之间的互联互通提供了统一的分布式通信本领,能够快速发现并毗连装备,高效地分发任务和传输数据

分布式装备假造化平台可以实现不同装备的资源融合、装备管理、数据处理,多种装备共同形成一个超级假造终端

分布式数据管理基于分布式软总线的本领,实现应用程序数据和用户数据的分布式管理。

分布式任务调度构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨装备的应用进行长途启动、长途调用、长途毗连以及迁徙等操纵

2、一次开发,多端部署
HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨装备应用的开发效率。一次开发
3、统一OS,弹性部署
HarmonyOS通过组件化和小型化等设计方法,支持多种终端装备按需弹性部署。

支持各组件的选择(组件可有可无)

支持组件内功能集的配置(组件小大由之)

支持组件间依靠的关联(平台小大由之)


HarmonyOS体系架构

HarmonyOS体系团体上采用的的是分层的体系架构。
从下向上依次为:内核层、体系服务层、框架层和应用层。

进行HarmonyOS相干的开发可以选择的语言很多 如:C/C++、Java、XML、JS(JavaScript)、TS(TypeScript)、ArkTS、CSS和HML(HarmonyOS Markup Language)等等。
在应用开发层面,目前主要支持的是两大语言: 一个是JavaScript,简称JS; 一个是改进的TypeScript,也称eTS或ArkTS。
当然也可进行基于C/C++、Java、Python等语言的开发。
常见操纵体系介绍

操纵体系(Operating System,简称OS),是盘算机体系中负责支持应用程序运行环境以及用户操纵环境的体系软件。
介绍几个操纵体系:Windows系列(Windows:是由微软公司成功开发的操纵体系.Windows是一个多任务的操纵体系,采用图形窗口界面,用户对盘算机的各种复杂操纵只需通过点击鼠标就可以实现,这样可能是Windows得以广泛利用的原因之一)、Unix(UNIX是一个强大的多用户、多任务操纵体系,支持多种处理器架构的分时操纵体系。长期由一些大型的公司在维护,限定了广泛推广)、Linux(和UNIX完全兼容,是由芬兰赫尔辛基大学盘算机系学生Linus Torvalds在基于UNIX的基础上开发的一个操纵体系。开源,得到了长足发展。出现了很多发行版本,如:FedoraCore、CentOS、Debian、Ubuntu、Gentoo、FreeBSD、openSUSE等等)、Mac OS(是由苹果公司推出的专门运行与苹果电脑上的操纵体系,在商用领域,Mac OS是图形用户界面首个得到成功的。1984年诞生,历经几十年发展,版本也有很多。)、iOS(iOS可以说是macOS的手机版,它们都属于类Unix的贸易操纵体系。)、Android(安卓,“机器人”,由Google公司和开放手机同盟领导及开发的基于Linux内核的自由及开放源代码的操纵体系。主要利用于智能手机、平板电脑等。)、HarmonyOS(HarmonyOS 是一款面向全场景的 分布式操纵体系。)。
第一个HarmonyOS应用

DevEco Studio介绍

DevEco Studio集成开发环境是基于IntelliJ IDEA Community开源版本开发的,面向全场景多装备,提供一站式的分布式应用开发平台。
开发者可以通过该IDE进行项目创建、开发、编译、调试、发布等。DevEco Studio使得开发者可以方便地开发各种HarmonyOS应用,提升开发效率。
除了具有基本的代码开发、编译构建及调测等功能外,还具有以下特点:
1)多装备统一开发环境
2)高效智能代码编辑
3)多端双向及时预览
4)多端装备模拟仿真
5)低代码可视化开发
开发运行第一个鸿蒙应用

开发并上架一个HarmonyOS应用到华为应用市场的4个步调:
1)开发预备:开发预备包括注册和认证华为开发者账号,下载和安装DevEco Studio,下载HarmonyOS SDK。具体操纵可以参考配置开发环境。
2)开发应用:DevEco Studio集成了Phone、Tablet、Wearable等多种装备的应用模板,可以通过领导创建工程,并实现自己的应用。开发过程中可以通过预览器等进行预览等工作,DevEco Studio提供了丰富的编码开发支持。
3)运行、调试和测试应用:应用开发过程中或完成后,可以利用真机进行调试或模拟器进行调试,DevEco Studio支持单步调试、跨装备调试、跨语言调试、变量可视化等调试本领,使得应用/服务调试更加高效。
4)签名发布应用:HarmonyOS应用开发完成后,假如必要分发,必要将应用发布至华为应用市场。发布到华为应用市场的应用,必须利用发布证书进行签名。
第1、4步调必要做的工作的比力固定,基本都是一次性工作,第2、3步调的工作每每是大量的,一个应用从开始开发到最终上线中间一样寻常必要进行大量的分析、设计、编码、测试等工作,有的还会进行反复迭代。
项目启动过程
基于Stage模型的HarmonyOS应用项目中,每一个应用都有一个module.json5配置文件


首先会剖析配置文件,得到配置文件中的module配置信息,找到要启动的应用对象。 根据配置文件中模块(module)配置的本领(abilities)信息得到配置的本领(ability),找到主本领。
本领的skills属性actions值设置为action.system.home的称为主本领,首先启动的本领。
接下来,体系会进入到主本领的生命周期过程。加载页面(page)
项目结构配置
APP Pack = Application Package,简称APP Pack,鸿蒙应用发布应用包


APP由一个或多个HAP(HarmonyOS Ability Package)以及描述APP属性的pack.info文件构成
一个HAP在工程目次中对应一个模块(Module),模块又由代码、资源、第三方库及应用清单文件等构成。
一个模块下面可以包含多个本领(Ability),其中有一个本领为主本领,也称为入口本领或Ability。主本领是应用启动首先加载的本领。
FA模型将Ability分为FA(Feature Ability)和PA(Particle Ability)两种范例
Stage模型将Ability分为PageAbility和ExtensionAbility两大类
项目结构--目次结构


目次结构:
(1)AppScope
AppScope:应用的资源和配置信息,其中包括应用的全局资源和应用的配置文件(app.json5)。
(2)entry
entry:默认启动模块,即主模块,开发者用于存放编写的源码文件以及开发资源文件的目次。
(3)build
build:构建目次,用于存放编译构建生成的文件,有开发环境主动生成,一样寻常开发者无需修改。
(4)entry→src
entry→src:源代码目次,用于存放编写的程序源代码,也包括配置文件代码等。
(5)entry→src→main→ets
entry→src→main→ets:用于存放eTS源代码文件的目次。
(6)entry→src→main→resources
entry→src→main→resources:用于存放应用所用到的资源文件目次,其下面又分为元素(element)资源和媒体(media)资源,元素资源如颜色、字符串、形状等,媒体资源如图片、音频等。
(7)entry→src→main→module.json5
entry→src→main→module.json5:模块的配置文件,如模块中的Ability配置等。
(8)entry→src→ohosTest
entry→src→ohosTest:存放单元测试代码的目次。
(9)entry→build-profile.json5
entry→build-profile.json5:编译配置文件。
(10)node_modulers
node_modulers:该文件夹中存放的是node.js包管理工具安装的包。
(11)local.properties
local.properties:该文件生存了sdk等对应的当地路径。
资源和配置

HarmonyOS应用中资源可以分为三类:
1、基础资源  resources--->base
2、原始文件资源   resources--->rawfile
3、限定词资源   resources--->zh_CN
base下包括element、media等子目次,子目次也可以自行建立,不同的子目次用于存放不同范例的资源。
在element目次下一样寻常用于存放字符串、颜色、整数、浮点数、复数、布尔值、数组等。
element资源的目次下,可以通过右键快捷菜单创建必要的元素资源文件
元素资源文件是JSON格式,如bool.json的内容如下:

引用基础资源的情势:

引用rawfile下的资源的情势:

配置文件的构成:

在一个应用中主要有三个配置文件
1、应用配置文件app.json5
2、模块配置文件module.json5
3、模块的页面配置文件,可以自行命名的,并可在模块配置文件配置
配置文件均为JSON格式文本文件,其中包含了一系列配置项,每个配置项由属性和值两部门构成。
属性:代表的是配置项的名称,属性出现顺序不分先后,且每个属性最多只允许出现一次。
值:属性的值表示配置的含义,值为JSON的基本数据范例,包括数值、字符串、布尔值、数组、对象和null范例等。
配置说明

应用配置文件app.json5中的配置是面向整个应用的配置信息

模块配置文件module.json5中的配置是面向模块的配置信息

Ability的主要配置说明

pages配置页面是为了给模块配置若干个页面对应源码位置,在模块的配置中,通过配置‘pages’为模块配置页面对应的配置文件
除了前面所述的配置外,项目中尚有一些别的的配置文件,如:
编译配置(build-profile)
包配置(package)
当地属性配置(local.properties)等
只不过这些配置一样寻常有开发环境主动配置,开发者一样寻常无须过多关心


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表