第一章 初识OpenHarmony

序言

本书以3W1H教学法对每个知识点进行多维度介绍,笔者认为这样写更符合人类对新知识的学习。本书以教学场景续写,一章为半天知识点。

本书读者对象

阅读本书您需要具备html、css、js基础知识,所以没有这些知识的读者请参考W3school官方文档略懂后再来。适合高校教学用书。

第一章 初识OpenHarmony

本章内容

  • OpenHarmony简介
    • OpenHarmony由来
    • OpenHarmony发展前景
    • OpenHarmony技术架构
    • OpenHarmony全场景
    • OpenHarmony技术特性
    • OpenHarmony版本说明
    • OpenHarmony和HarmonyOS区别
  • OpenHarmony环境搭建
    • DevEco Studio 开发环境搭建
    • DevEco Studio 环境配置
    • Hello World应用体验
  • DevEco Studio编辑器配置技巧
    • 提示忽略大小写、设置字体相关、取消注释斜体并修改注释的颜色
    • 设置主题、代码格式化、常用快捷键
    • 常用插件、编辑器汉化

本章目标

  • 了解OpenHarmony由来
  • 了解OpenHarmony技术架构
  • 掌握OpenHarmony环境搭建
  • 掌握运行Hello World程序

OpenHarmony由来

2019年5月15日,<<这块内容被CSDN删了>>。一夜之间,华为无法使用高通芯片,谷歌停止与华为合作,华为失去安卓系统更新的访问权,华为面临无芯片无系统的境地。相关视频
华为为应对谷歌Android操作系统“断供”,华为正式推出其立项于2016年的鸿蒙系统。2019年8月9日,华为分布式操作系统1.0对外发布,正式取名“鸿蒙”。
华为深知一个系统要推广难的不是技术而是整个生态,而要快速建立鸿蒙生态就必须对鸿蒙进行开源,华为迫切需要开源平台。
2020年6月我国首个开源领域的基金会(开放原子开源基金会)成立。介绍视频
在这里插入图片描述
2020年9月,鸿蒙系统底层代码全部捐献给开放原子开源基金会,并命名为OpenAtom OpenHarmony(简称OpenHarmony)中文意思[开发、和谐]。从此中国也有自己操纵系统了。

OpenHarmony发展前景

随着 5G 的普及以及物联网的高速发展,越来越多的智能电器设备走进我们的生活,由于各设备厂商的分裂,每种智能设备大多都有自己的专属应用,用户为了使用这些智能设备就需要安装不同设备的应用,随着设备的增多,这种分裂也越来越严重,所以需要一个统一的操作系统来解决设备跨度大,应用诉求差异等问题。
在这里插入图片描述

OpenHarmony技术架构

在这里插入图片描述 OpenHarmony 整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。
系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件

内核层
内核子系统:采用多内核(Linux内核或者LiteOS)设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel
Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
驱动子系统:驱动框架(HDF)是系统硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。

系统服务层
系统服务层是OpenHarmony的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:
系统基本能力子系统集:为分布式应用在多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、公共基础库、多模输入、图形、安全、AI等子系统组成。
基础软件服务子系统集:提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 等子系统组成。
增强软件服务子系统集:提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。
硬件服务子系统集:提供硬件服务,由位置服务、用户IAM、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。
根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。

框架层
框架层为应用开发提供了C/C++/JS等多语言的用户程序框架和Ability框架,适用于JS语言的ArkUI框架,以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,设备支持的API也会有所不同。

应用层
应用层包括系统应用和第三方非系统应用。应用由一个或多个FA(Feature Ability)或PA(Particle
Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

OpenHarmon全场景

1+8+N”是HarmonyOS的打造全场景战略。其中,“1”是智能手机,“8”是指手机外围8类设备,包括大屏、音箱、眼镜、手表、车机、耳机、平板、PC,这8类设备在日常生活中使用频率仅次于手机。N是指围绕着8类设备,周边还有能够搭载鸿蒙操作
系统的物联网设备,这些设备涵盖了各种各样的应用场景,包括移动办公、智能家居、运动健康、影音娱乐及智能出行。争对这些场景场景的设备有智能秤、打印机、监控、投影仪等;之所以称为“N”,就是因为它涵盖的场景非常广泛,为我们提供无限的想象和创造空间。

系统架构简述视频

在这里插入图片描述

OpenHarmony技术特性

一、硬件互助,资源共享

多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。

  1. 分布式软总线

    分布式软总线是多设备终端的统一通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件,能够快速发现并连接设备,高效地传输任务和数据。
    在这里插入图片描述

应用场景举例:在烹饪时,手机可以通过碰一碰和烤箱连接,并将自动按照菜谱设置烹调参数,控制烤箱来制作菜肴。与此类似,料理机、油烟机、空气净化器、空调、灯、窗帘等都可以在手机端显示并通过手机控制

  1. 分布式数据管理
    分布式数据管理基于分布式软总线的能力,实现了应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,跨设备的数据处理如同本地数据处理一样方便快捷,让开发者能够轻松实现全场景、多设备下的数据存储、共享和访问,为打造一致、流畅的用户体验创造了基础条件。
    在这里插入图片描述

协同办公场景:将手机上的文档投屏到智慧屏,在智慧屏上对文档执行翻页、缩放、涂鸦等操作,文档的最新状态可以在手机上同步显示。
照片分享场景:出游时,使用手机拍摄的照片,可以在登录了同帐号的其他设备,比如平板上更方便地浏览、收藏、保存或编辑,也可以通过家中的智慧屏上同家人一起分享记录下的快乐瞬间。

  1. 分布式任务调度
    分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、绑定/解绑、以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况并结合用户的习惯和意图,选择最合适的设备运行分布式任务。
    在这里插入图片描述

导航场景:如果用户驾车出行,上车前,在手机上规划好导航路线;上车后,导航自动迁移到车机和车载音箱;下车后,导航自动迁移回手机。如果用户骑车出行,在手机上规划好导航路线,骑行时手表可以接续导航。
外卖场景:在手机上点外卖后,可以将订单信息迁移到手表上,随时查看外卖的配送状态。

  1. 设备虚拟化
    分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,将周边设备作为手机能力的延伸,共同形成一个超级虚拟终端。
    在这里插入图片描述

视频通话场景:在做家务时接听视频电话,可以将手机与智慧屏连接,并将智慧屏的屏幕、摄像头与音箱虚拟化为本地资源,替代手机自身的屏幕、摄像头、听筒与扬声器,实现一边做家务、一边通过智慧屏和音箱来视频通话。
游戏场景:在智慧屏上玩游戏时,可以将手机虚拟化为遥控器,借助手机的重力传感器、加速度传感器、触控能力,为玩家提供更便捷、更流畅的游戏体验。

二、一次开发,多端部署

OpenHarmony 提供用户程序框架、Ability框架以及UI框架,能够保证开发的应用在多终端运行时保证一致性。一次开发、多端部署。UI框架支持使用eTS、JS语言进行开发,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。

在这里插入图片描述

多终端软件平台API具备一致性,确保用户程序的运行兼容性。
支持在开发过程中预览终端的能力适配情况(CPU/内存/外设/软件资源等)。
支持根据用户程序与软件平台的兼容性来调度用户呈现。

三、统一OS,弹性部署

OpenHarmony 通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署。做到硬件资源的可大可小,组件可有可无。

OpenHarmony版本说明

在这里插入图片描述OpenHarmony的升级和维护同步进行。

升级与维护采用并行模式

OpenHarmony和HarmonyOS区别

OpenHarmony与HarmonyOS以面向对象思想来分析的话。OpenHarmony是HarmonyOS的父类(抽象类),HarmonyOS是OpenHarmony的实现类。其他厂商也可以基于OpenHarmony实现自己的系统。
在这里插入图片描述

1.谷歌的安卓开源后,小米根据安卓打造了自己的MIUI系统、华为打造EMUI、魅族打造Flyme
2.华为提取HarmonyOS底层代码交给开发原子基金会形成OpenHarmony。华为希望其他厂家也能加入共建生态。

你可能会问安卓是开源的,为什么会被限制呢?
它限制的不是安卓而是给安卓提供配置服务的GMS,海外平台严重依赖GMS。没有GMS授权的安卓将无法安装应用程序,而使用GMS必须经过谷歌公司授权。

依据GMS,谷歌对Android手机给予不同程度的授权,把搭载Android系统的手机厂商大致分为三个级别,
1.免费使用Android操作系统,但不内嵌GMS,现代智能手机很少不内嵌这个;
2.内嵌部分GMS服务,但手机不能打上谷歌的商标,在手机内部有一个制造厂商的服务框架;
3.内嵌所有的GMS服务,也可以使用谷歌商标,经过谷歌的审核,并得到授权
在大陆因为GMS无法正常运行所以很多厂商在得到谷歌公司授权以后对GMS作出了修改

OpenHarmony开发环境搭建

工具简介
HUAWEI DevEco Studio(简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,全方位的质量与安全保障。
搭建开发环境流程
DevEco Studio支持Windows系统,在开发OpenHarmony应用/服务前,需要配置OpenHarmony应用/服务的开发环境。环境配置流程如下所示:
在这里插入图片描述

DevEco Studio下载与安装

建议电脑配置满足如下:

操作系统:Windows10 64位
内存:8GB及以上
硬盘:100GB及以
分辨率:1280*800像素及以上

下载和安装DevEco Studio

下载网址
在这里插入图片描述

安装:

下载完成后,双击下载的“deveco-studio-xxxx.exe”,进入DevEco Studio安装向导。
在如下界面选择安装路径,默认安装于C:\Program Files路径下,也可以单击Browse…指定其他安装路径,然后单击Next。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DevEco Studio配置开发环境

第一次启动DevEco Studio的配置向导:

同意
必须同意
在这里插入图片描述
不导入设置
在这里插入图片描述

在这里插入图片描述

Node.js下载

设置Node.js信息,可以指定本地已安装的Node.js;如果本地没有合适的版本,可以选择Download按钮,在线下载Node.js。Node.js下载

在这里插入图片描述在这里插入图片描述DevEco Studio 工具有指定对应的Node版本,请查看后下载。
在这里插入图片描述
当前最新DevEco Studio支持node.js版本为15以下
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

Node.js安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DevEco Studio配置Node.js

设置Node.js信息,指定本地已安装的Node.js
在这里插入图片描述

下载SDK

在SDK Componets Setup界面,设置OpenHarmony SDK下载路径,如果需要开发HarmonyOS应用,请勾选上HarmonyOS SDK,单击Next进入下一步。
OpenHarmony SDK和HarmonyOS SDK不能设置为同一个路径,且路径中不能包含中文字符。
在这里插入图片描述
在这里插入图片描述

创建和运行HelloWorld

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

真机演示

将搭载OpenHarmony标准系统的开发板与电脑连接。
点击File > Project Structure > Project > SigningConfigs界面勾选“Automatically generate signing”,等待自动签名完成即可,点击“OK”。
在编辑窗口右上角的工具栏,单击运行,等待编译完成即可便运行在设备上。
在这里插入图片描述

在这里插入图片描述

DevEco Studio编辑器配置技巧

1.提示忽略大小写

在这里插入图片描述

2.设置字体相关

在这里插入图片描述

3.取消注释斜体并修改注释的颜色

在这里插入图片描述

4.设置主题

在这里插入图片描述
在这里插入图片描述

5.代码格式化

支持对选定范围的代码或者当前整个文件进行代码格式化操作,可以很好的提升代码的美 观度和可读性。

• 使用快捷键 Ctrl + Alt + L 可以快速对选定范围的代码进行格式化。

• 使用快捷件 Ctrl + Alt + Shift + L 可以快速对当前整个文件进行格式化。

6.其他快捷键

下面给出我汇总的快捷键

在这里插入图片描述

7.汉化

汉化是指对DevEco Studio界面英文改成中文,对于英语不好的人来说简直就是福音。汉化包工具已经自带不需要下载,选择Installed搜索chines勾选即可安装。
在这里插入图片描述
勾选后,DevEco Studio 需要重启,重启后的界面如下。
在这里插入图片描述

8.翻译

翻译是指下载安装翻译插件。打开设置>找到插件>搜索translation>安装>重启即可。
在这里插入图片描述
安装完毕后,选中要翻译的内容按Ctrl+Shift+Y快速翻译。
在这里插入图片描述
翻译报错,如果遇到下图情况。原因是2022年10月4日谷歌宣布停止翻译服务!您可以切换国内的翻译引擎,如百度,有道等。
在这里插入图片描述
如您使用有道引擎您需要到有道注册一个账户,拿到翻译ID和密码后粘贴到这里。
在这里插入图片描述
不过很可惜,国内的翻译都收费…!

本章练习

1.Open Harmony 1.0发布于( )年。
2.(    )版本SDK支持标准设备开发。
3.Open Harmony 技术架构分为______________________________。
4.Open Harmony技术特性有________________________________。
5.搭建Open Harmony开发环境步骤?
6.Open Harmony和HarmonyOS有什么区别?
7.Open Harmony全场景指的是什么?

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智海深渊

对您有帮助给点鼓励吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值