OpenHarmony 3.1 Release版本特性讲解

开放原子开源基金会已于2022-3-30正式发布了OpenHarmony 3.1 Release版本(也称330版本),随版本发布带来的还有OpenHarmony SDK-Ohos_sdk 3.1 Release(API Version 8)。(注:以下图片内容来自于OpenAtom Foundation,具体以官方公布的为准)

版本概述

当前版本在OpenHarmony 3.1 Beta的基础上,增强支持以下能力:

标准系统基础能力增强

    本地基础音视频播放能力、视频硬编解码、相机基础预览、拍摄能力。 RenderService新渲染框架、2D/3D绘制能力、新的动画和显示效果框架。 窗口管理新框架,提供更加灵活的窗口框架能力,支持全屏、分屏、窗口化形态,支持跨窗口拖拽能力。 display管理能力,支持分屏,并增强亮灭屏管理能力;支持窗口动画和效果。 鼠标、键盘、触摸板的基本功能支持,常见传感器加速度、陀螺仪、霍尔、马达振动等的基本能力支持。 语言区域选择、新增/增强国际化特性、系统资源、rawfile资源。 时间时区同步的支持管理能力、新增对剪贴板、锁屏服务、静态壁纸、下载服务管理能力的支持。 系统服务状态监控功能、新增跨设备oncall能力(跨设备启动FA能力)、长时、短时及延迟任务调度能力。 内存管理功能增强、电源管理基本功能支持、增进程调度功能增强等特性。 本地帐号、域帐号与本地帐号绑定功能,分布式帐号ID派生和状态管理功能,本地应用权限管理、分布式权限的管理能力。 Wi-Fi STA、AP、P2P相关基本能力以及JS API、新增蓝牙BR、SPP、BLE相关的能力以及JS API、新增位置服务子系统,提供位置服务框架能力。

标准系统分布式能力增强

    分布式软总线网络切换组网、P2P连接、流传输、蓝牙等能力。 支持硬件互助 ,资源共享,支持镜像和扩展投屏等。 设备上下线和PIN码认证等增强功能,存储管理、应用沙箱隔离、公共数据沙箱隔离等能力,支持分布式数据库,分布式数据对象,支持本地数据库访问和跨应用数据库访问等能力。

标准系统应用程序框架能力增强

    ArkUI自定义绘制能力和Lottie动画能力、键盘、鼠标交互操作能力。 声明式Web组件、XComponent组件能力。 卡片能力,提供卡片添加、删除、刷新等基础能力。 多用户能力,提供适应多端的基础JS工具链及运行时能力,对多HAP安装、隐式查询、多用户、权限管理的基本功能支持,支持分布式通知,通知模板功能。

标准系统应用能力增强

    系统应用构建,包含系统桌面、SystemUI、系统设置、相机、图库、通话、联系人、信息、备忘录、文件选择器、输入法等应用支持。

OpenHarmony 3.1 Release与3.0版本对比

值得注意的是OpenHarmony 3.0之前的版本仅支持轻量设备开发,但是从3.0版本就开始支持Standard设备的开发了。尤其是3.0在系统基础能力方面相比于轻量级设备支持了电话、安全、HDF上的Audio,Camera等等,同时内核也变成了Linux多版本。

OpenHarmony 3.1版本相比于3.0更多的是对Standard设备开发的增强,这点给我个人最大的感受就是,ohos 3版本之前的仅仅只是物联产品的开发设计,而3.1版本似乎是为手机、平板类的个人终端或者是全终端设计出来的,最主要的是330版本这次带来了更全面的分布式。

新特性介绍

    新特性总览 API介绍

1.基础能力介绍

    内核 & HDF

轻量化内核新增支持Cortex M55架构,Arm Cortex-M55 处理器是 Arm 最具 AI 功能的 Cortex-M 处理器,也是首款采用 Arm Helium 矢量处理技术的处理器。这也使类似于ESP32 CAM(集成人脸识别功能)那种轻量型AI设备开发在未来带来了更大的可能。

    媒体

媒体方面这次也添加了HiStreamer音视频引擎 ,相机方面除了增加了其它智能终端设备都有的功能之外,这次的新鲜点在于分布式相机功能(这个功能之前只在HarmonyOS上边听过).

    软总线 & 电话,通信 & MSDP,泛Sensor Build Runtime & 多模输入

2.分布式能力介绍

    软总线 & 分布式硬件 分布式数据管理 & 分布式调度

3.应用开发能力介绍

    ArkUI & 图形
    元能力 & 包管理

4.其他能力介绍

    启动恢复 & 其它

5.开发者文档介绍

源码获取

前提条件

  1. 注册码云gitee账号。
  2. 注册码云SSH公钥,请参考。
  3. 安装和并配置用户信息。
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
  1. 安装码云repo工具,可以执行如下命令。
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

方式一(推荐)

通过repo + ssh 下载(需注册公钥,请参考)。

repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verify
repo sync -c
repo forall -c git lfs pull

方式二

通过repo + https 下载。

repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verify
repo sync -c
repo forall -c git lfs pull

个人感受

第一次了解到OpenHarmony还是去年华为的HDC开发者大会,那时真的被这个新鲜又先进的方向深深吸引了,它不仅仅满足了我的硬件开发兴趣也满足了我的软件开发梦。哈哈哈~后面还参加了OpenHarmony开源开发者成长计划,从第一期认领了一个文档共建(能力不足,未结项[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PpMy59Zc-1650795211301)(file:///C:UsersGaoAppDataLocalTempSGPicFaceTpBq15460182C72AD.png)])。后面参加成长计划直到现在,话说现在已经进行到第五期了吧嘿嘿!

我学的是电子类专业,平时在学校实验室做点硬件开发,对于330版本我比较关心的是其南向开发能力,和华天才少年稚晖君一样,做硬件对屏幕有着独特的兴趣,330版本也带来了更加完善的图形框架和UI开发能力。从伴随着OpenHarmony 3.1 Release版本发布的润和DAYU200开发板我见识到了330版本带来的更多标准设备的能力,这也给硬件开发带来了无限动力。

330版本最关心的就是分布式软总线了,听说这次还增加了WiFi P2P连接和文件/流传输(这不是隔空投送吗,真期待!)。希望OpenHarmony生态越来越好吧,也希望和更多的学生开发者交流。

注:部分链接来自于的OpenHarmony社区大佬的分享

附:

    文档获取
    Sample & Codelabs
经验分享 程序员 微信小程序 职场和发展