AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

华为发布 HarmonyOS 3.1 开发者预览版,并推出鸿蒙开发语言 ArkTS

  • 2022-11-04
    北京
  • 本文字数:1421 字

    阅读完需:约 5 分钟

华为发布HarmonyOS 3.1开发者预览版,并推出鸿蒙开发语言ArkTS

11 月 4 日,在华为开发者大会 2022(Together)上,华为终端 BG 软件部总裁龚体宣布,华为发布 HarmonyOS 3.1 开发者预览版本,SDK 全面升级 ArkTS 声明式应用开发,即日起就可在官网获取。2023 年 1 月将发布 HarmonyOS 3.1 Beta 版本,2023 年 3 月发布 HarmonyOS 3.1 Release 版本。



届时,开发者 Beta 版本将支持 1 万+ ArkTS APIs,拥有声明式 UI、应用开发框架、分布式系统服务、多媒体、WEB、通信等多种能力,可支持 ArkTS 商用应用开发。



同时华为 HarmonyOS 从 3.0 版本就兼容 OpenHarmony API 能力,本次发布的 3.1 版本兼容 OpenHarmony 的 API 9。未来 HarmonyOS 将继续基于 OpenHarmony 演进,华为也将持续投入 OpenHarmony 开源项目共建。


为了解决开发者关注的问题,华为提出鸿蒙生态应用开发三大理念:一次开发,多端部署;可分可合,自由流转;统一生态,原生智能。关于鸿蒙生态应用开发三大理念的详细介绍,感兴趣的读者可以去 HarmonyOS 官网下载《鸿蒙生态应用开发白皮书》了解。


而围绕声明式开发体系,华为基于此发布了全新升级的鸿蒙开发套件,包括设计系统 HarmonyOS Design、开发语言 ArkTS、开发框架 ArkUI、编译器 ArkCompiler、开发工具 DevEco Studio、测试工具 DevEco Testing 以及上架分发平台 AppGallery Connect,从设计、开发、测试、上架全流程进行了全面优化。


据介绍,HarmonyOS 基于 JS/TS 语言体系,构建了全新的声明式开发语言 ArkTS。ArkTS 是华为自研的开发语言。它在 TypeScript(简称 TS)的基础上,匹配 ArkUI 框架,扩展了声明式 UI 语法和轻量化并发机制,让跨端界面开发和并行化任务开发更高效简洁,使应用开发效率提升 30%。


龚体称,为了更好的解决 JS/TS 语言开发体系性能上短板,华为在开发框架 ArkUI 和编译器 ArkCompiler 上做了技术性突破。


编译器 ArkCompiler,针对传统的动态类型语言因为变量不确定及编译解析优化都在启动运行阶段导致应用启动慢的问题,突破了动态语言可以带类型编译,支持对象持久化和重绑定技术,实现了业界首个动态类型语言 AOT 编译模式,可显著缩短应用启动运行时间。高负载复杂应用在 ArkCompiler 的加持下,在低配置机型的启动速度相比传统模式提升 30%。同时,ArkCompiler 还提供了多种源码保护技术,大幅提升 JS/TS 类型源码安全度。



开发框架 ArkUI 对后端渲染机制进行全新升级,使用了最新的 Diff 算法,无需再根据 COMPONENT 树和 ELEMENT 树比较差别来刷新界面内容,而是直接基于 RENDER 树里面的节点来比较,不再需要三棵树,实现了渲染算法树三合一(NODE 树)。这种新的渲染机制极大简化了声明式开发框架的树形结构,大幅度优化了界面布局渲染性能,使应用界面滑动加载速度提升了 45%。


同时,ArkUI 上还构建了全新的开发模型“Stage”模型,Stage 是一个规范化进程管理开发模型,它通过构建十多种后台进程拉起规范,使得应用在开发阶段就根据进程规范拉起,避免了后台进程无序侵占系统资源。从而保障了进程环境从“无序”到“有序”,优化了应用体验。此外,Stage 模型还实现了逻辑和 UI 分离,进一步简化了流转开发步骤,大幅提升跨端流转开发效率。



开发工具方面,HUAWEI DevEco Studio 升级到 3.1 版本。HarmonyOS 测试工具和上架分发服务也全面配套 ArkTS 应用进行了升级。DevEco Testing 为 ArkTS 跨端应用提供专项测试,AppGallery Connect 实现 ArkTS 跨端应用一键上架分发。


华为表示,鸿蒙开发套件升级,是 HarmonyOS 确定以声明式开发体系为方向,标志着鸿蒙生态将迎来全新发展阶段。未来 HarmonyOS 将持续基于声明式开发体系和三大理念不断演进,全面加速推进鸿蒙生态。

2022-11-04 19:2511509
用户头像
罗燕珊 AI practitioner | Tech media

发布了 540 篇内容, 共 404.5 次阅读, 收获喜欢 849 次。

关注

评论 3 条评论

发布
用户头像
给仓颉露个相呗
2022-11-05 17:03 · 上海
回复
用户头像
希望是真开放,不是假开放
2022-11-05 07:45 · 浙江
回复
用户头像
这个语言要先放出来啊,如果只能在鸿蒙上用就小众了,不会想去学的。
2022-11-04 20:09 · 湖南
回复
没有更多了
发现更多内容

同一浏览器只允许登录一个账号

码字与律动

Vue 大前端

谈谈控制感(13):为什么是旁观者清?

史方远

读书笔记 个人成长 心理学 随笔杂谈

SpringBatch系列入门之Tasklet

稻草鸟人

spring SpringBatch 批处理

有的线程它死了,于是它变成一道面试题。

why技术

源码分析 面试 jdk源码 线程池

LeetCode | 2. Reverse Integer 整数反转

Puran

Python C# 算法 LeetCode arts

游戏夜读 | 如何管理公司?

game1night

ARTS打卡week#1

对方正在输入…

ARTS 打卡计划

【vue-openlayers】弹窗

德育处主任

html Vue 大前端 openlayers ol

分布式事务 - 理论模型

Java收录阁

分布式事务

坚持ARTS-week2

王钰淇

ARTS 打卡计划

什么时候去面试

escray

程序员都惧怕的故障域

松花皮蛋me

Java 问题处理

ARTS 01 - 技术人的理想主义

jerry.mei

算法 Vue 练习 ARTS 打卡计划 ARTS活动

微信小程序开发 | 如何在小程序中使用自定义 icon 图标

彭宏豪95

微信小程序 学习 编程 大前端 IT

重学 Java 设计模式:实战适配器模式

小傅哥

设计模式 小傅哥 重构 代码质量 代码坏味道

深入理解JVM内存管理 - 堆和栈

Skye

堆栈 深入理解JVM VM参数

centos7分区命令parted的用法(大于2T)

唯爱

LeetCode | 1. Two Sum 两数之和

Puran

Python C# 算法 LeetCode arts

洞悉MySQL底层架构:游走在缓冲与磁盘之间

帅旋

MySQL 数据库 MVCC

带你学够浪:Go语言基础系列 - 8分钟学控制流语句

程序员柠檬

后台开发 Go 语言

Java 走过的创新25年

田晓旭

Java25周年

【大厂面试02期】Redis过期key是怎么样清理的?

NotFound9

Java 数据库 redis 架构 后端

一文入门JVM虚拟机

Simon郎

深入理解JVM

程序员的晚餐 | 6 月 2 日 红烧鸡爪的味道

清远

美食

架构演变之路:为何要搞微服务架构?

帅旋

Kubernetes 微服务 dubbo SpringCloud

工作的创新能力

punkboy

产品 重新理解创业 产品经理 创新突破 创新

【译】5 个你需要知道的 JavaScript 小技巧

零和幺

Java 大前端 技巧

初识 LeetCode

Puran

LeetCode arts

路漫漫其修远兮

无心水

Java 最新的JDK14.0.1调试成功

程李文华

【Sentry搭建之 docker-compose】

卓丁

DevOps Docker-compose CI/CD sentry

华为发布HarmonyOS 3.1开发者预览版,并推出鸿蒙开发语言ArkTS_语言 & 开发_罗燕珊_InfoQ精选文章