原文:https://mp.weixin.qq.com/s/kyyYCjrl6E8MBxKpBSKNWg,点击链接查看更多技术内容。
 
开发者的脚步永不停歇,2022年我们发布了HarmonyOS 3.0 Release版本,为了进一步满足开发者高效开发应用程序的诉求,在同年11月4日华为开发者大会HDC2022上,我们推出了HarmonyOS 3.1版本。

HarmonyOS 3.1 版本主推ArkTS开发语言,ArkTS API的数量也将达到10000+,主要API能力包括:增强的声明式UI能力、全新的应用开发模型——Stage模型,并在DFX、Web组件开发、国际化开发、通信互联、媒体软件等子系统能力方面有所更新或增强,这些能力标志着HarmonyOS全面进入ArkTS语言的声明式开发阶段。

下面,让我们一起了解HarmonyOS 3.1版本主要有哪些关键特性吧。

一、声明式UI能力

ArkUI是一套构建HarmonyOS应用界面的声明式UI开发框架。它通过简洁自然的UI信息描述语法、丰富的UI动效组件和API,以及不断增强的一次开发、多端部署能力,帮助您提升HarmonyOS应用界面开发效率。

目前ArkUI已支持包括Canvas、XComponent、DatePicker等超70个UI组件,并且提供了丰富的响应式布局和自适应布局能力。

具体新增及增强能力如下所示:

1、声明式2D/3D绘制能力

1)新增Canvas绘制能力,支持W3C标准Canvas接口,结合声明式UI范式,增强应用开发者自定义绘制能力。

2)通过XComponent组件,配合NDK能力,构建C++/TS混合开发能力,支持游戏、媒体应用开发。

2、布局能力提升

1)扁平化布局能力,提升布局效率

2)自定义布局能力,布局更加灵活、可定制

3、组件能力提升

1)分栏架构组件使用提升

2)列表组件使用提升

4、多设备交互事件归一

交互归一后开发者无需关注当前设备和输入设备类型,只需在交互归一事件接口中做逻辑响应即可。

交互归一

二、应用开发模型——Stage模型

作为FA模型的一种补充,应用开发框架引入了Stage模型作为第二种应用开发模型。Stage模型包含生命周期管理、调度、回调、上下文获取、鉴权等,大大增强了应用的运行管理能力。Stage模型的重点特性如下:

1、重新定义应用运行规则,从根本上解决后台抢占系统资源问题

1)后台常驻进程数量减少

2)后台常驻进程内存开销减少

3)后台进程行为更加有序

4)前台进程所需资源可得到充分保障

重新定义应用运行规则

2、逻辑与UI解耦,应用异常恢复与应用跨设备迁移逻辑归一

1) UI与逻辑解耦,UI通过数据驱动

2)应用异常恢复只需载入关键节点数据

3)跨设备流转时,应用同样载入关键节点数据

逻辑与UI解耦

3、多设备应用模型归一,更利于应用一次开发多端部署

Stage模型的UIAbility生命周期和窗口显示/焦点事件分离,统一了多设备形态下UIAbility模型,促进多设备兼容应用代码更加简洁。

窗口状态与UIAbility生命周期关系

三、DFX

1、CPU耗时调优

用于在CPU负载高场景下,跟踪代码执行过程中的关键流程,度量分析热点函数耗时。

CPU耗时调优

2、内存分配调优

调优常见内存分配过多、内存泄漏等问题,开发者可快速找到内存生命周期的上下文。

内存分配调优

3、HiAppEvent(应用埋点框架)

提供HarmonyOS应用事件的预埋、预定义、自定义事件埋点、存储、分发、订阅框架。应用内开发者可集成SDK接入大数据云,通过HiAppEvent订阅机制完成埋点数据获取。

四、Web组件开发

本次更新支持文档类Web应用文档预览和基础编辑功能,支持图文混排内容跨设备复制粘贴。在统一W3C标准下支持文档类Web应用生态快速迁移,适配移植工作量小,调试成本低;支持图文混排内容跨设备复制粘贴,解决富文本内容跨设备复制图片丢失问题,提高移动办公体验。

五、国际化开发——伪本地化调试

支持界面语言的伪翻译替换,文本长度扩展,文本边界测试。开发者无需在APP中加入伪翻译资源即可测试,通过切换系统语言到en-XA区域可快速进行调试。

六、通信互联

1、http增强功能

包括支持缓存、支持并发框架、支持gzip压缩、支持指定数据返回格式。

2、支持TLSSocket

支持客户端指定证书、密钥、CA等安全传输选项,向服务器发起连接,建立TLSSocket连接支持TLSv1.2和TLSv1.3。

七、媒体软件

1、音视频播放、录制、编解码

1)音视频播放,包括:本地播放、在线播放

2)音视频录制,包括:音频录制、视频录制

3)音视频编解码,包括:音频软编解码、视频硬编解码,支持H264

2、相机支持预览、拍照、录像功能

1)相机基础能力,包括:基础预览、基础拍照、基础录像

2)支持基本参数控制:闪光灯、对焦、变焦等

八、分布式数据管理

分布式数据为应用程序提供不同设备间数据库的分布式协同能力(KVStore支持分布式,RDB仅支持本地)。

除以上关键特性外,本次HarmonyOS 3.1还将在安全基础能力、网络管理、包管理、测试框架、文件管理、资源调度、USB服务、输入法、打印、位置服务、无障碍软件服务、用户IAM、窗口、电话服务、分布式软总线、电源服务、事件通知等子系统方面有不同程度的更新或增强。

以上HarmonyOS 3.1版本的主要更新内容,将会在后续的开发者版本中逐步开放。最后,我们一起来看看HarmonyOS 3.1的版本更新节奏:

版本特性路标

HDC2022发布了HarmonyOS 3.1 Developer Preview版本,已经携带了最新的Stage模型以及部分ArkUI增强能力,欢迎各位开发者小伙伴们到HarmonyOS官网下载并提前尝鲜,感谢您一路陪伴HarmonyOS成长!

HarmonyOS 3.1版本发布,全面进入声明式开发的更多相关文章

  1. JEECG 3.7.1 版本发布,企业级JAVA快速开发平台

    JEECG 3.7.1 版本发布,企业级JAVA快速开发平台 ---------------------------------------- Version:  Jeecg_3.7.1项 目:   ...

  2. JEECG 3.7.2版本发布,企业级JAVA快速开发平台

    JEECG 3.7.2版本发布 -  微云快速开发平台 JEECG是一款基于代码生成器的J2EE快速开发平台,开源界"小普元"超越传统商业企业级开发平台.引领新的开发模式(Onli ...

  3. JEECG 3.7.3 新春版本发布,企业级JAVA快速开发平台

    JEECG 3.7.3新春版本发布 -  微云快速开发平台 导读           ⊙精美Echart报表 ⊙二维码生成功能 ⊙Online接口改造采用JWT机制 ⊙智能菜单搜索 ⊙代码生成器模板优 ...

  4. jcseg-1.8.7版本发布 - 多配置适应+完整开发帮助文档

    jcseg是使用java开发的一款开源中文分词器, 并且提供了最新版本的lucene和solr分词接口. jcseg 1.8.7版本发布了: 1. 更改了内部设计, 加入JcsegTaskConfig ...

  5. 规范git commit提交记录和版本发布记录

    在开发过程中我们一般都会用到git管理代码,在git commit提交代码时我们一般对git commit message随便写点简单的描述,可是随着项目参与人数的增多,发现提交的commit记录越来 ...

  6. Beta版本测试报告以及Beta版本发布说明

    Beta版本测试报告 请根据团队项目中软件的需求文档.功能说明.系统设计和Beta阶段的计划安排,写出软件的测试过程和测试结果,并回答下述问题. 在测试过程中总共发现了多少bug?每个类别的bug分别 ...

  7. Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布

    Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布 摘要: jeasypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导 ...

  8. 1024程序员节宅男节日快乐 -- JAVA快速开发平台,JEECG 3.8宅男优化版本发布

    JEECG 3.8 版本发布,系统全面升级,重构上传组件.优化代码生成器机制! 导读   ⊙平台性能优化,系统更稳定,速度闪电般提升 ⊙系统上传组件全面重构,使用plupload组件,解决flash的 ...

  9. Java快速开发平台,JEECG 3.7.6性能增强版本发布

    JEECG 3.7.6 性能增强版本发布 导读       ⊙Vue SPA单页面应用 ⊙Datagrid标签实现不同风格切换,支持BootstrapTable.EasyUI ⊙灵活通用代码生成器工厂 ...

  10. 团队项目作业-Beta版本发布

    团队成员: 学号 姓名 201731062234 薛磊 201731062230 李林 201731062231 燕泓达 201731062232 陈东 201731062229 沈瑞琦 201731 ...

随机推荐

  1. 【Azure 应用服务】访问App Service突然出现 ERR_SSL_PROTOCOL_ERROR错误的解答

    问题描述 在中国区的Azure  App Service服务中,新创建的站点突然访问出现 " This site can't provide a secure connection,xxxx ...

  2. Nebula Importer 数据导入实践

    本文首发于 Nebula Graph Community 公众号 前言 Nebula 目前作为较为成熟的产品,已经有着很丰富的生态.数据导入的维度而言就已经提供了多种选择.有大而全的Nebula Ex ...

  3. [linux 爬坑] 几个linux发行版尝试和令人崩溃的ssr安装体验

    最近电脑上的manjaro好像出了问题,长时间不用就会死机.也懒得追究原因了,正好决定尝试几个发行版.首先尝试安装银河麒麟    这个发行版实际上就是ubuntu,甚至源什么的都是ubuntu的,也不 ...

  4. C++入门编程----C++运算符(8)

    什么是运算符 运算符是让程序执行特定的数学或逻辑操作的符号,用来表示针对数据的特定操作,也称之为操作符.C++运算符分别有算术运算符.关系运算符.逻辑运算符.赋值运算符.位运算符.移位运算符.size ...

  5. git的 .gitignore 配置概述

    git的 .gitignore 配置概述 学习背景:自己在使用git时发现有时会上传很多无用的配置文件,或者在项目中已经包含一个本地的git仓库,导致上一级项目上传总是报错,所以学习采用gitigno ...

  6. 摆脱鼠标系列 - Alt + N 快速切换vscode多个项目 - HotKeyP

    摆脱鼠标系列 - Alt + N 快速切换vscode多个项目 用的软件是 HotKeyP 打开软件选择vscode vscode里面的 project那个插件也很好,但是需要打开vscode以后,这 ...

  7. 在Ubuntu14.04上安装qt5和qtcreator的 两种方式(源代码和xxxxx.run) 和我的感悟-------超级详细版

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文发布于 2014-07-25 12:21:13 ...

  8. PXE批量安装操作系统自动化

    PXEz自动化 在PXE服务器操作: *yum -y install dhcp xinetd tftp tftp-server* *yum -y install system-config-kicks ...

  9. Ubuntu设置初始root密码,开启远程访问

    [Ubuntu设置初始root密码,开启远程访问] 初始化root密码 ubuntu安装好后,root初始密码(默认密码)不知道,需要设置. 先用安装时候的用户登录进入系统 输入:sudo passw ...

  10. 如何在UE4中播放本地视频文件?

    在UE4中有一套媒体框架方法,它根据视频源的不同,对应的播放方式也不一样,支持的视频源有本地视频文件.影像序列.视频流.实时视频截图.播放形式可选择在场景内的静态网格上播放或者以UI的形式播放.本文主 ...