原文: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. Rust 登上了开源头条「GitHub 热点速览」

    抱歉!上周因为出月刊工作量比较大,所以「GitHub 热点速递」暂停了一期,必须要给守着更新的读者道个歉,以后每周二的「热点速递」会按时更新,下不为例. 说回本周的热门开源项目,Rust 语言可谓是出 ...

  2. Git 常用的基础命令

    #克隆项目到本地.url:项目的git地址:local_dir_name:克隆项目到本地的目录名称,如果不写就默认是git项目中的目录名称 git clone <url> <loca ...

  3. 【主流技术】日常工作中关于 JSON 转换的经验大全(Java)

    目录 前言 一.JSON 回顾 1.1结构形式 二.其它类型 -> JSON相关 2.1 JavaBean 转 JsonObject 2.2 JavaBean 转 Json 字符串 2.3 Li ...

  4. 解决Abp设置DefaultLanguage默认语言不生效的问题

    @ 目录 现象 原因分析 解决问题 现象 默认地,Abp的语言提供程序将返回的CultureInfo为En,在一些默认实现的接口(比如/api/TokenAuth/Authenticate)返回的错误 ...

  5. manjaro/archLinux出现什么的签名未知信任的时候

    sudo pacman -S archlinuxcn-keyring 在进行该做的就可以了 出现这种状况的原因是没有规范的更新系统!

  6. 音频wav文件转sbc工具wav2sbc下载

    前记: 书到用时方恨少,工具用时方才发现好不到.为了一个工具,也是折腾了有一阵了. 工具说明: 在耳机中,各大芯片公司为了节省内存,本地播放的一般都是sbc格式文件,这就用到了wav转sbc文件的软件 ...

  7. c基础-指针、函数与预处理器

    指针.函数.预处理器 目录 指针.函数.预处理器 1.指针 解引用 指针运算 数组和指针 const char *, char const *, char * const,char const * c ...

  8. 【732. 我的日程安排表 III】线段树求解

    class MyCalendarThree { public static void main(String[] args) { MyCalendarThree myCalendarThree = n ...

  9. 从 Linux 内核角度探秘 JDK MappedByteBuffer

    本文涉及到的内核源码版本为: 5.4 ,JVM 源码为:OpenJDK17,RocketMQ 源码版本为:5.1.1 在之前的文章<一步一图带你深入剖析 JDK NIO ByteBuffer 在 ...

  10. 「AntV」Vue3与TS框架下使用L7

    1. 引言 Vue是常用的前端框架,TypeScript(简称TS) 是 JavaScript 的超集,可以提高代码的可维护性和可读性 本文基于Vite.Vue3和TypeScript搭建L7开发环境 ...