乐趣区

关于openharmony:未来已来OpenHarmony-32-Release发布迈入发展新阶段

2023 年 4 月 9 日,在社区开发者的期盼中,在春风送暖万物更新的节令里,咱们迎来了 OpenAtom OpenHarmony(以下简称“OpenHarmony”)3.2 Release 新版本的公布。相比一年前的 OpenHarmony 3.1 Release 版本,新版本的零碎能力、零碎整体性能、稳定性和安全性都进一步失去晋升和欠缺;OpenHarmony 3.2 Release 版本为利用开发而生,在零碎能力、开发工具和 API、硬件调测等将为开发者带来全新体验!

OpenHarmony 开源两年多以来,吸引了 130 多家搭档、超过 5100 名开发者参加共建和奉献,产出超一亿行代码。超 260 款软硬件产品通过兼容性测评,宽泛笼罩了能源、金融、交通、教育、政务、家居等很多行业。感激各位搭档和开发者的奉献,是大家的反对和奉献,减速了 OpenHarmony 生态的凋敝倒退。随着 OpenHarmony 3.2 Release 版本的公布,OpenHarmony 社区迈入新的倒退阶段。

OpenHarmony 3.2 Release 版本带来了泛滥的新个性,反对采纳 ArkTS 语言 +Stage 利用模型进行大型利用、原子化服务开发;ArkCompiler 的优化、Taskpool 机制晋升利用运行性能;ArkUI 组件能力加强,强化图形渲染能力和系统安全能力,丰盛分布式业务开发;引入 AI 框架,同时,媒体、电话、通信、Web、平安、调测能力进一步晋升;外设模型进一步丰盛。新版本还提供了 API Level 9 稳固接口。下文形容新版本的局部新个性,请您返回 OpenHarmony 3.2 Release Note 理解所有新性能的详细信息。

立刻查看所有新性能
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v3.2-release.md

OpenHarmony 3.2 Release 为开发者带来了什么

ArkUI
组件能力加强

●反对 XComponent 控件,可用于 EGL/OpenGL ES 和媒体数据写入,并在 XComponent 组件显示;通过 XComponent 组件,配合 NDK 能力,构建 C ++/ArkTS 混合开发能力,反对游戏、媒体利用开发。
●反对 AbilityComponent 控件,反对嵌入其余利用作为控件(Component)显示。
●减少根底的 ArkTS 卡片开发能力:反对卡片交互、能动静更新内容;对立卡片和页面的开发范式,页面的布局能够间接复用到卡片布局中,晋升卡片开发体验和开发效率。
● 零碎默认反对纯文本、纯图片复制、粘贴、拖拽,无需开发者解决复制、粘贴、拖拽事件。
● 反对多级菜单和分组菜单。
● 反对切换深色模式 / 浅色模式,仅零碎利用反对。

UI 界面开发反对一次开发适配多屏幕规格
● 交互归一能力加强,交互归一事件对接 TP、鼠标、键盘、触摸板、手写笔,ArkUI 原生组件反对归一化的操作形式。
● 响应式布局能力优化,加强了媒体查问能力,栅格零碎重构且对接自在窗口。
● 走焦能力加强,反对 Tab 键和方向键走焦,反对配置组件是否可获焦。
● 反对加强分栏与侧边栏组件能力,反对拖拽自动隐藏等能力。

利用框架
● Stage 模型,OpenHarmony API 9 新增模型,提供了应用程序必备的组件和运行机制。开发者能够基于该模型进行简单利用开发,使利用开发更简略、高效。
○ 以类模式提供组件开发,不便开发者基于类扩大。
○ 过程内共享虚拟机实例,缩小利用内存占用。
○ 反对在过程内共享数据对象,不便开发者在多模块间共享状态。
○ Ability 生命周期和窗口显示 / 焦点事件拆散,对立了多设施状态下组件的生命周期,有利于多设施利用开发。
○ Ability 与 UI 职责拆散且具备 RPC 调用能力,原生反对组件级的跨设施迁徙与协同,有利于分布式应用开发。

● 提供 Extension 机制,借助 Extension,利用在与其余利用或零碎进行交互时向他们提供自定义性能和内容,例如:利用能够作为卡片显示在零碎桌面或者零碎闲时执行后台任务等。以后反对的罕用 Extenson 有:FormExtensionAbility、WorkSchedulerExtensionAbility、InputMethodExtensionAbility、AccessibilityExtensionAbility 等。
● 原子化服务反对分包预加载,晋升服务首次加载性能。
● 反对 HSP(Harmony Shared Package)动静共享包,反对利用内代码和资源的共享。

利用包治理
● 反对抉择默认利用,例如用户应用应用程序关上文件或 url 地址时抉择了默认程序,后续将主动关上该应用程序操作文件。
● 反对对局部预置利用如 Launcher、SystemUI、Settings 等,零碎当时授予权限(如定位、电话联系人等权限)、简化设施开箱后的受权过程,晋升用户体验。
● 反对预置利用配置是否可常驻、是否能够多过程,是否容许应用 Service 类型的 ExtensionAbility 等能力,增强对预置利用的权限管控。
● 反对动静批改和更新应用程序的代码,提供疾速修复程序包便于利用疾速响应需要和修复问题(此能力依赖设施厂商构建利用市场并提供散发能力)。
● 反对 so 基于 hap 包的隔离,不便开发者在不同的模块中部署 so 文件,防止了不同模块 so 重名的问题。

分布式技术
反对元服务和卡片跨设施流转,包含:跨设施查问、增加、刷新、删除等。

分布式软总线
● 提供基于蓝牙链路的文件传输能力,蓝牙数据传输通道相比 OpenHarmony 3.1 版本性能晋升约 10%。
● 通过为每个过程别离建设 Message 和 Byte 高低优先级队列,确保在 Message 和 Byte 并发的状况下,优先保障音讯队列的数据发送,同时也能保障 Byte 失去无效传输,解决了在字节数据拥塞的状况下,音讯数据不能及时传输的问题。
● 在反对 RAW 流的根底上,新增 COMMON 流传输能力,将未加密音视频流交由软总线进行加解密,调用者只须要把原始的音视频流数据传递给软总线,软总线保障数据的平安传输。
● 反对传输链路(WLAN/WiFi P2P/ 蓝牙 BR)动静抉择。依据双端设施反对的传输链路以及业务调用软总线传输接口(SendFile、SendSteam、SendMessage、SendBytes)进行链路抉择。例如当须要传输流数据时,优先选择 WLAN(5G 频段)进行传输,如果 WLAN 不可用,则抉择其它链路(例如 WiFi P2P)进行传输。

分布式硬件
● 分布式相机拍照反对设置拍摄地理位置信息和照片品质级别(影响照片的压缩比和画质清晰度)。
● 分布式相机反对录像性能。
● 设施治理反对将帐号认证信息导入到设施平安认证零碎中,雷同帐号的设施能够主动实现设施认证和组网。

分布式数据管理
跨利用数据拜访、本地数据库、数据同步能力进行了优化和加强。
● 通过代理形式实现同设施内跨利用数据拜访,防止频繁拉起数据源利用。
● 反对同设施内关系型数据库、键值型数据库的跨利用数据拜访。
● 反对键值型数据库和关系型数据库。
● 反对对数据库文件的加密保留。
● 反对数据库的异样损坏检测以及异样重建。
● 反对利用通过客户端进行备份和复原数据库。
● 反对主动备份键值型数据库。
● 反对同利用跨设施对关系型数据库近程查问。
● 反对元数据库异样损坏检测和主动重建。
● 键值型数据库从对立的零碎沙箱切换到各利用沙箱,放大利用数据的拜访权限,晋升了利用数据的安全性。

媒体
音频
● 提供抉择蓝牙设施进行音频播放和通话的能力。
● 反对生成 DTMF 拨号音并进行播放。
● 反对 OpenSL ES 根底录音接口。
● 反对利用查问以后可用的音频设备列表,并携带具体设施信息,比方设施采样率、通道数、通道掩码。
● 反对查问零碎中已建设的播放流和录音流信息。

播放
● 媒体播放反对 fd 格局输出的本地播放、反对 HTTPS、HLS 协定网络点播性能。媒体播放反对基于 HDI 的 H264 硬解播放能力。
● 提供音视频编解码能力,基于 HDI codec 接口的视频硬编码 / 硬解码能力。

相机
● 反对相机拍照配置:格局、分辨率、品质(影响照片的压缩比和画质清晰度)、地理位置等。反对录像和录像中抓拍。
● 反对相机精准隐衷爱护策略,仅容许前台应用(蕴含相机悬浮窗场景);支持系统服务后盾应用相机,不容许第三方 APP 后盾静默应用相机。提供零碎接口,供相机全局开关开启、禁用调用。

图片
减少反对 raw、Webp 图片格式。

程序访问控制
● 实现利用和零碎过程的权限治理框架,提供如下利用权限的操作接口:
○提供权限的校验、权限的授予、权限的撤销性能。
○提供权限的受权变动监听性能。
○提供拉起权限弹窗的接口,利用能够通过该接口拉起弹窗,向用户申请受权。
● 提供权限弹窗利用以及 Setting 利用的隐衷权限治理性能。
● 提供隐衷报告性能,反对增加 / 查问权限拜访记录、监听权限应用状态变动接口。
● 提供隐衷爱护加强个性,晋升用户的隐衷爱护体验,包含:
○相机应用揭示,在相机应用时,告诉 systemUI 在右上角显示小圆点,提醒用户。
○一键开关性能,提供用户一键开关,管控设施麦克风 / 相机敏感资源的应用。
● 提供 SELinux 性能的 permissive 模式。

ArkCompiler
语言个性加强
● 反对严格模式的 Ecma2021 标准。编译器运行时性能
● 提供 es2abc 编译器,优化字节码编译性能、缩短编译工夫。
● 提供汇编解释器晋升利用高级语言运行性能。
● 提供基于 PGO 配置文件的 Host AOT 优化编译器,晋升利用高级语言高负载性能。
● 反对模块化能力,更好、更标准的反对简单利用工程开发。
● 反对热补丁机制,提供利用热修复运行时技术底座。
● 调试加强,反对多实例调试、热重载调试,晋升开发者开发效率。
● 反对基于 CDP 协定的 CPU Profiler/Heap Profiler 调优能力,提供利用性能调优和内存调优能力。

语言根底库
● utils 性能加强,反对 uuid 提供通用对立标识符性能,反对 Buffer 提供缓冲区读写比拟查找性能。
● Concurrent 并发库减少并发 API TaskPool 根底版,提供并发工作接口。工作池(Taskpool)作用是为应用程序提供一个多线程的运行环境,升高整体资源的耗费、进步零碎的整体性能。C/C++ 工具链
● 工具链降级:LLVM 降级到 12.0.0,反对 MIPS 架构、RISC- V 架构。
● 性能加强:反对 stack pageguard 爱护,地址随机化,namespace 隔离,CFI 性能,Fortify 性能,时区数据更新等,晋升 C /C++ 库平安。
● 性能优化:实现高频函数性能优化晋升 c 库根底性能,实现 linker 优化晋升库加载性能。
● 反对 locale 提供时区设置刷新性能。

驱动
HDF 驱动框架能力
● 反对内核态驱动动静加载、外接设备即插即用事件上报、驱动安全策略配置,为开发者提供更稳固、平安的驱动平台底座。
● HDI 接口反对 IPC 调用和直通调用两种通路模式,开发者可依据理论业务灵便应用,晋升业务性能。
● 反对 HDI 服务化代码主动生成能力、模板化驱动代码生成能力、HCS 宏式解析及配置可视化编辑等能力,升高驱动开发门槛,进步开发效率。
● Platform 平台驱动反对用户态中断、新增 CAN 总线 HDF 驱动框架、MMC 驱动实现优化等。

外设驱动模型能力
● Camera 驱动模型反对自拍镜像、镜头管制、JPEG 地位信息增加、Sensor 捕捉角查问、人脸识别 Meta 流反对,简化相机驱动开发难度。
● Audio 的 ADM 模型减少耳机接入、听筒和喇叭切换管制、通话音量设置、通话静音等要害控制能力,撑持音频硬件生态拓展。
● Display 驱动模型反对多屏治理、软件 Vsync 机制、兼容 FrameBuffer 架构,反对不同显示架构高效接入。
● 反对规范零碎的 Codec 硬件编解码驱动模型、提供 Codec HDI 2.0 接口及参考实现,反对更齐备的硬件编解码能力。
● 反对马达驱动模型,包含马达振动启停、根底马达成果管制,为用户提供丰盛的振感体验。
● 反对手势驱动模型,包含状态事件、设施状态事件上报;反对手势启停、性能状态配置。
● USB 驱动模型反对设施模式和主机模式,新增反对设施模式下 RNDIS 网络驱动等 DDK 能力。
● 反对 WLAN 驱动能力抗干扰能力,提供最优 P2P 信道抉择能力,继续晋升 WLAN 信号品质。

工具晋升
DevEco Studio 代码开发
● 反对利用 / 服务开发环境的诊断性能,可能检测开发环境是否齐备,确保开发者领有良好的开发体验。若查看后果中存在不满足的查看项,建议您依据修复倡议进行调整。
● 提供根底模板和卡片模板,反对 Stage 工程下创立 ArkTS 服务卡片,帮忙开发者疾速开发利用和服务。
● 反对 OpenHarmony 工程增加 Extension Ability 模板,具体请参考在模块中增加 Ability。
● 反对依照 ArkUI 新语法和新标准,查看代码提醒谬误;新增 Code Linter 代码查看性能,反对配置查看规定,修复查看后果。
● 反对 C ++ 代码 Quick Fix 根底能力,具体请参考代码 Quick Fix 疾速修复。
● 提供全新的 OHPM CLI(OpenHarmony Package Manager Command-line Interface)生态三方库包管理工具,反对 OpenHarmony 共享包公布、装置和依赖治理。反对 API 9 的历史工程迁徙为 OHPM 工程,具体参考历史工程手动迁徙。
● 反对构建闭源 HAR,并反对配置 HAR 的混同能力。
● 反对 AOT 编译模式,提供高负载 TS 性能抉择和构建能力,晋升利用运行性能,具体请参考开启 AOT 编译模式。
● API 9 的 Stage 工程默认开启模块化编译,可无效缩短增量编译工夫、减小编译后的包体积。
● 反对并发编译晋升编译速度。

DevEco Studio 利用调试调优
● 反对 ArkTS/JS 与 C /C++ 跨语言调试个性,在 C /C++ 工程中,采纳 ArkTS/JS 与 C /C++ 进行混合开发,可能在 ArkTS 或 JS 调用 C /C++ 办法处,间接进入 C /C++ 代码中进行调试,不便开发者疾速发现并解决跨语言调用相干代码问题。具体请参考 ArkTS/JS 与 C /C++ 工程跨语言调试。
● 反对 Hot Reload 热重载,反对保留代码后在真机上应用最新的代码而无需重启利用。
● 反对 OpenHarmony 多包推送和多实例调试性能。
● 反对 OpenHarmony API 9 C/C++ 工程的内存谬误检测。
● OpenHarmony 日志性能反对打印 FaultLog,便于利用开发者疾速查问、定位、导出利用故障信息。
● 测试框架能力加强,针对 JS/ArkTS API Version 8 和 9 的工程,测试框架的执行效率显著晋升;同时优化了测试框架模板,晋升模板代码的可读性。

测试能力
● 新增测试用例筛选执行能力,反对在用例中配置指定字段如用例类型、级别等参数,通过命令执行筛选后的用例,帮忙开发者晋升测试执行效率。
● 新增测试用例驱动执行能力,可将类似测试逻辑的不同输入输出数据配置到辅助文件中应用,帮忙开发者缩小测试代码量。
● 新增多窗口、双指捏合、抛滑等 UI 场景模仿操作能力,晋升 UI 自动化反对范畴。
● 新增 OpenHarmony 利用品质要求兼容性测试标准,涵盖 UX、性能、功耗、稳定性、兼容性和平安六大方面,标准 OpenHarmony 利用根底品质要求。
● SmartPerf-Host 性能功耗调试调优工具,为开发者提供一套性能调优平台,反对 GUI(图形用户界面)操作进行具体数据分析。3.2 版本新增:
○反对功耗剖析能力,展现利用各子类别功耗占比信息、资源申请应用记录、功耗异样事件、功耗与零碎状态关联信息。
○反对 Web 端抓取 trace。
○反对 SQL 查问和 Metrics 阐明。
○反对内核内存事件剖析。
● wukong 软件稳定性工具能力加强:
○反对注入滑动、鼠标、字符、零碎按键、控件事件,模仿用户多样化随机操作,笼罩实在用户操作场景,开掘更多稳定性问题。
○反对设置运行总时长、利用黑白名单,实现个性化测试。
○反对控件程序遍历测试,测试过程中反对界面截图;反对休眠唤醒测试。

获取 OpenHarmony 3.2 Release 源码进行体验

OpenHarmony 3.2 Release 版本按照常规,持续提供版本源码和现成镜像的形式,反对社区开发者进行体验、应用。

形式一
OpenHarmony 3.2 Release Note 中提供了版本代码的下载方式。您能够从版本分支获取该版本分支的最新源码,包含版本公布后在该分支的合入。同步代码的命令如下:

repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-3.2-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

形式二
OpenHarmony 3.2 Release Note 中还提供镜像站点,能够间接获取镜像进行体验,反对全量代码、各种解决方案、实用各种平台的规范零碎 Public SDK 包。

退出社区共建,继续奉献

以后,已有数以千计的开发者参加到 OpenHarmony 的奉献和共建中来。同时,也已累计有上百家搭档单位参加到 OpenHarmony 的开发和实际中。将来,也期待更多的共建单位和开发者携手齐心,独特打造使能千行百业的数字底座。

退出移动版