HarmonyOS 3.0.0 开发者预览版全新发布
2021 年 10 月 22 日在华为开发者大会 HDC.Together 2021 主题演讲上,我们发布了 HarmonyOS 3.0.0 开发者预览版,主要内容包括:Harmony 设计系统、ArkUI 3.0、ArkCompiler 3.0、DevEco Studio 3.0 和 TS/JS API 。
其中,HarmonyOS 的 UI 开发框架从以 Java 为主要编程语言的命令式 UI 框架演进为以 TypeScript(简称 TS)/JavaScript(简称 JS)为主要编程语言的声明式 UI 框架(ArkUI 3.0)。同时,ArkCompiler 3.0 增加了对 TS/JS 语言的支持,HarmonyOS SDK 新增了 6000+的 TS/JS API,支持 TS 语言开发富媒体应用。未来,TS/JS 语言在 HarmonyOS 应用开发中会越来越重要。
下面,让我们再来回顾一下 HarmonyOS 3.0.0 开发者预览版的关键内容吧~
一、Harmony 设计系统
Harmony 设计系统,综合考虑人因、设备和环境等因素,为跨端应用界面设计提供完备的设计规范、便捷的设计工具、以及丰富的设计资源,方便开发者创作出更优秀的设计。
二、ArkUI 3.0
ArkUI 3.0 是一套构建 HarmonyOS 应用界面的声明式 UI 开发框架。它通过极简的 UI 信息描述语法、丰富的 UI 组件和动效,以及实时界面预览能力,帮助您提升 HarmonyOS 应用界面开发效率。
ArkUI 3.0 的关键特性如下:
1. 从以 Java 为主要编程语言的命令式 UI 框架,演进为以 TS/JS 为主要编程语言的声明式 UI 框架,生产效率提高 30%。
图 1 UI 框架演进
为何 UI 开发框架会发生这样的演进?从开发模式方面来看,声明式比命令式具备更直观更简洁的能力,能进一步提升开发效率;从语言方面来看,TS/JS 具备了广泛的生态以及更强的灵活性。根据 RedMonk 2021 年 Q1 编程语言排名,JS 语言综合排名第一,并且是目前全球开发者中使用最多的语言。JS 语言拥有非常强大的生态社区,学习资源、三方库和工具资源非常丰富。相比静态类型开发语言(比如 Java),JS 因为动态类型和类脚本语言的特点,开发类似功能的应用时,JS 代码一般行数更少,开发效率更高。TS 是 JS 的一个超集,有效地提升了 JS 开发大型工程的便利性和可维护性。
2. 提供极简 UI 开发语法和组件,提高跨设备应用 UI 开发效率。
图 2 ArkUI 的高效率
ArkUI 3.0 拥有极简的 UI 信息描述语法、丰富的 UI 组件和高效跨端开发能力,对比传统的应用界面开发,代码量减少 30%以上。
3. 通过针对声明式的前后端一致化的渲染优化设计,进一步提升应用性能体验。
图 3 ArkUI 的高性能
ArkUI 3.0 通过扁平化统一渲染和并行流水线技术,保证应用性能体验和安卓原生应用体验不相上下,在典型的复杂场景下,内存还可降低 20%。
三、ArkCompiler 3.0
ArkCompiler 是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。
图 4 ArkCompiler 3.0 原理图
本次推出的 ArkCompiler 3.0 包含以下关键特性:
1. 前端编译器支持将多种高级语言(包括 JS、TS 和 Java)编译成统一的字节码文件,屏蔽语言的差异,提升运行效率和程序启动性能。
2. 提供多种端侧执行模式(解释器、JIT 编译器和 AOT 编译器),形成结合设备和应用特征的多层次组合运行策略,满足不同设备硬件规格。
解释器:启动快,执行性能一般,内存占用小。
JIT 编译器:启动需要预热,执行性能高,内存占用较高。
AOT 编译器:启动快,执行性能高,内存占用高。
在低端 IoT 设备上,ArkCompiler 3.0 支持纯解释器的执行模式,以满足小设备的内存限制条件。在高端设备上,ArkCompiler 3.0 支持解释器配合 AOT 和 JIT 编译器的执行模式,对大部分应用代码使用 AOT 编译器编译,使得程序一开始就可以运行在高质量的优化代码上,获得最好的执行性能。在其它设备上,则根据设备的硬件条件限制来选择策略,设定高频使用需要 AOT 编译的代码范围,其它代码则依靠解释器配合 JIT 编译器运行,使得应用执行性能能够得到最大化。
3. ArkCompiler 3.0 特别对 TS/JS 做了针对性优化规划,目标是提升执行性能 1 倍。
四、DevEco Studio 3.0
HUAWEI DevEco Studio 是面向全场景多设备,提供一站式的原子化服务 &HarmonyOS 应用开发平台。
DevEco Studio 3.0 为开发、调试和测试三个阶段都提供了更多功能来提升跨端应用开发效率。
1. 开发阶段,DevEco Studio 3.0 提供的以下功能帮助开发者实现跨端高效编码。
■ 支持 ArkUI3.0 框架,提供 eTS 超级终端工程模板,支持开发者一键创建跨端应用工程。
■ 提供实时双向预览能力,开发者在编写代码的同时可以便捷调整 UI 界面。
图 5 实时预览
■ 一次开发,多端部署,支持同一个工程在手机、平板、车机等多种设备上运行。
图 6 一次开发,多端部署
2. 调试阶段,DevEco Studio 3.0 提供以下功能帮助开发者降低跨端分布式调测门槛。
■ 提供分布式远程模拟器,降低开发者跨端应用调试的成本。
■ 提供可视化跨设备网络连接和内存堆栈功能,降低开发者跨端应用调试的难度。
图 7 跨端分布式调测
3. 集成测试阶段,DevEco Studio 3.0 的云端服务平台 DevEco Service 提供远程实验室和集成测试服务“DevEco Testing”,帮助开发者云端一键式完成跨端应用集成测试。
■ 远程实验室提供 7*24 小时华为真机环境,涵盖华为 1+8 全类型真机设备,免除购置和维护成本,解决开发者在测试应用时无设备或设备类型不全的问题。
■ DevEco Testing 在远程实验室的基础上,为开发者提供一键式跨端应用集成测试服务,覆盖兼容性、稳定性、性能、功耗、UX 测试、安全等测试。
图 8 DevEco Service 云端服务平台
集成测试服务 DevEco Testing 链接:https://devecostudio.huawei.com/
五、TS/JS API
截止 HDC.Together 2021 主题演讲会当天,Harmony SDK 新增 6000+ TS/JS API,支持跨端应用高效开发。涵盖以下能力:
分布式系统服务:跨端服务拉起、跨端服务调用、跨端服务迁移等
多媒体能力:录音、播放、图片解码等
多线程并发能力:Workers 多线程能力、线程间数据共享等
声明式 UI 能力:MVVM 编程模型、丰富 UI 组件、动效能力、原子布局能力等
当前,TS/JS API 支持富媒体类应用场景开发,比如图库类、日历类等。
我们计划在 2022 年提供增强 UI 组件和增强分布式能力的 TS/JS API 版本,全面支持华为超级终端下三方重度应用场景开发,比如咨询类、影音类、社交类、购物类等。
最后,我们来看看 HarmonyOS 3.0.0 的版本特性路标:
图 9 版本特性路标
以上就是 HarmonyOS 3.0.0 开发者预览版发布内容。欢迎各位开发者小伙伴们到 HarmonyOS 官网下载工具和资源包,提前尝鲜 HarmonyOS 3.0.0 的新特性,感谢您一路陪伴 HarmonyOS 的成长!
更多 HarmonyOS 3.0.0 开发特性和路标详细信息,请访问官网 HarmonyOS 3.0.0 专题页:
评论