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版本发布,全面进入声明式开发的更多相关文章
- JEECG 3.7.1 版本发布,企业级JAVA快速开发平台
JEECG 3.7.1 版本发布,企业级JAVA快速开发平台 ---------------------------------------- Version: Jeecg_3.7.1项 目: ...
- JEECG 3.7.2版本发布,企业级JAVA快速开发平台
JEECG 3.7.2版本发布 - 微云快速开发平台 JEECG是一款基于代码生成器的J2EE快速开发平台,开源界"小普元"超越传统商业企业级开发平台.引领新的开发模式(Onli ...
- JEECG 3.7.3 新春版本发布,企业级JAVA快速开发平台
JEECG 3.7.3新春版本发布 - 微云快速开发平台 导读 ⊙精美Echart报表 ⊙二维码生成功能 ⊙Online接口改造采用JWT机制 ⊙智能菜单搜索 ⊙代码生成器模板优 ...
- jcseg-1.8.7版本发布 - 多配置适应+完整开发帮助文档
jcseg是使用java开发的一款开源中文分词器, 并且提供了最新版本的lucene和solr分词接口. jcseg 1.8.7版本发布了: 1. 更改了内部设计, 加入JcsegTaskConfig ...
- 规范git commit提交记录和版本发布记录
在开发过程中我们一般都会用到git管理代码,在git commit提交代码时我们一般对git commit message随便写点简单的描述,可是随着项目参与人数的增多,发现提交的commit记录越来 ...
- Beta版本测试报告以及Beta版本发布说明
Beta版本测试报告 请根据团队项目中软件的需求文档.功能说明.系统设计和Beta阶段的计划安排,写出软件的测试过程和测试结果,并回答下述问题. 在测试过程中总共发现了多少bug?每个类别的bug分别 ...
- Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布
Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布 摘要: jeasypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导 ...
- 1024程序员节宅男节日快乐 -- JAVA快速开发平台,JEECG 3.8宅男优化版本发布
JEECG 3.8 版本发布,系统全面升级,重构上传组件.优化代码生成器机制! 导读 ⊙平台性能优化,系统更稳定,速度闪电般提升 ⊙系统上传组件全面重构,使用plupload组件,解决flash的 ...
- Java快速开发平台,JEECG 3.7.6性能增强版本发布
JEECG 3.7.6 性能增强版本发布 导读 ⊙Vue SPA单页面应用 ⊙Datagrid标签实现不同风格切换,支持BootstrapTable.EasyUI ⊙灵活通用代码生成器工厂 ...
- 团队项目作业-Beta版本发布
团队成员: 学号 姓名 201731062234 薛磊 201731062230 李林 201731062231 燕泓达 201731062232 陈东 201731062229 沈瑞琦 201731 ...
随机推荐
- 【Azure 应用服务】访问App Service突然出现 ERR_SSL_PROTOCOL_ERROR错误的解答
问题描述 在中国区的Azure App Service服务中,新创建的站点突然访问出现 " This site can't provide a secure connection,xxxx ...
- Nebula Importer 数据导入实践
本文首发于 Nebula Graph Community 公众号 前言 Nebula 目前作为较为成熟的产品,已经有着很丰富的生态.数据导入的维度而言就已经提供了多种选择.有大而全的Nebula Ex ...
- [linux 爬坑] 几个linux发行版尝试和令人崩溃的ssr安装体验
最近电脑上的manjaro好像出了问题,长时间不用就会死机.也懒得追究原因了,正好决定尝试几个发行版.首先尝试安装银河麒麟 这个发行版实际上就是ubuntu,甚至源什么的都是ubuntu的,也不 ...
- C++入门编程----C++运算符(8)
什么是运算符 运算符是让程序执行特定的数学或逻辑操作的符号,用来表示针对数据的特定操作,也称之为操作符.C++运算符分别有算术运算符.关系运算符.逻辑运算符.赋值运算符.位运算符.移位运算符.size ...
- git的 .gitignore 配置概述
git的 .gitignore 配置概述 学习背景:自己在使用git时发现有时会上传很多无用的配置文件,或者在项目中已经包含一个本地的git仓库,导致上一级项目上传总是报错,所以学习采用gitigno ...
- 摆脱鼠标系列 - Alt + N 快速切换vscode多个项目 - HotKeyP
摆脱鼠标系列 - Alt + N 快速切换vscode多个项目 用的软件是 HotKeyP 打开软件选择vscode vscode里面的 project那个插件也很好,但是需要打开vscode以后,这 ...
- 在Ubuntu14.04上安装qt5和qtcreator的 两种方式(源代码和xxxxx.run) 和我的感悟-------超级详细版
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文发布于 2014-07-25 12:21:13 ...
- PXE批量安装操作系统自动化
PXEz自动化 在PXE服务器操作: *yum -y install dhcp xinetd tftp tftp-server* *yum -y install system-config-kicks ...
- Ubuntu设置初始root密码,开启远程访问
[Ubuntu设置初始root密码,开启远程访问] 初始化root密码 ubuntu安装好后,root初始密码(默认密码)不知道,需要设置. 先用安装时候的用户登录进入系统 输入:sudo passw ...
- 如何在UE4中播放本地视频文件?
在UE4中有一套媒体框架方法,它根据视频源的不同,对应的播放方式也不一样,支持的视频源有本地视频文件.影像序列.视频流.实时视频截图.播放形式可选择在场景内的静态网格上播放或者以UI的形式播放.本文主 ...