原文: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. Java 面向对象的特征一: * 封装与隐藏

    1 * @ 面向对象的特征一: 2 * 封装与隐藏 3 * 创建一个类的对象以后,我们可以通过"对象.属性"的方式,对 4 * 对象的属性进行赋值,这里,赋值操作要受到属性的数据类 ...

  2. electron暴露配置文件(用户可随时修改)

    配置文件 一般web前端项目配置文件,写死的放在src/config下,需要打包配置的放在.env文件中.但在electron项目中,如果配置数据更改,需要每次给用户打包升级肯定是行不通的.于是外部配 ...

  3. jQuery 框架

    jQuery 框架 目录 jQuery 框架 一. 概述 二. jQuery 安装引用 2.1 安装 2.2 本地导入使用 2.3 jQuery CDN引入 三. jQuery基本语法 四. 查找标签 ...

  4. 数据湖&湖仓一体简介

    1 简介 术语 数据库 数据库是"按照数据结构来组织.存储和管理数据的仓库". 广义上的数据库,在20世纪60年代已经在计算机中应用了.但这个阶段的数据库结构主要是层次或网状的,且 ...

  5. MyEclipse之各个版本的区别

    跟Eclipse一样,MyEclipse的各个版本也是有区别的,他们所集成的插件是不同的. 从插件数量和功能的强大程度上讲:Blue>Professional>Standard MyEcl ...

  6. 从null-ls归档再看nvim的代码格式化与lint方案

    由于null-lsp的归档和暂停更新,我们需要重新审视并思考还有哪些架构简单易于理解的插件配置方案.本文将介绍脱离null-ls插件体系下的代码格式化和lint的插件配置方案. 在之前的文章中< ...

  7. Cesium之CustomShader

    1. 引言 Cesium自1.87.1版本,开始支持3DTileset使用CustomShader: Added CustomShader class for styling Cesium3DTile ...

  8. Cesium渲染模块之FBO与RBO

    1. 引言 Cesium是一款三维地球和地图可视化开源JavaScript库,使用WebGL来进行硬件加速图形,使用时不需要任何插件支持,基于Apache2.0许可的开源程序,可以免费用于商业和非商业 ...

  9. 使用Channel传递数据

    上次我们使用了事件异步传递数据,这次我们使用Channel在一个线程通信传递数据 直接上代码 public static class ChannelSample { private static re ...

  10. 记录--开发uniapp nvue App+微信小程序,我踩过的坑( 纯干货 )

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近接了个项目,采用uniapp的nvue开发安卓和ios端+小程序端,第一次开发nvue,对于css布局这块,还是踩了很多坑.以及一些u ...