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专题页:

https://developer.harmonyos.com/cn/develop/harmonyos-sdk

扫码添加开发者小助手微信

获取更多HarmonyOS开发资源和开发者活动资讯

HarmonyOS 3.0.0开发者预览版全新发布的更多相关文章

  1. Android 7.0终极开发者预览版全攻略!

    近日,Google的工程部副总裁Dave Burke在官方博客上正式发布开发者预览版5,此预览版是android 7.0 “牛轧糖”正式发布前最后一个预览版,同时也是在性能.功能上等多方面的表现上最接 ...

  2. Swift 3.0首个开发者预览版将在5月12日释出

    Swift团队在博客中宣布Swift 3.0语言首个开发者预览版将于5月12日释出,正式版将在4-6周之后推出.开发者预览阶段并无确定的更新周期和计划,不过Swift团队称努力将其控 制在4-6周内. ...

  3. Android 发布可穿戴设备 SDK 的开发者预览版

    今早上安卓官网查资料,发现网站上赫然显示着"Android Wear"几个大字.难道……?点进去看,果然,Android发布了可穿戴设备的SDK的开发者预览版. 其中这第五张图…… ...

  4. Android远程桌面助手(B1185)for Android P开发者预览版

    Android P的开发者预览版已出,其中App compatibility changes部分特别强调“The platform restricts the use of some non-SDK ...

  5. Android 10开发者预览版功能介绍

    Android P的开发者预览版最亮眼的功能莫过于支持“刘海屏”等屏幕显示.同样在适配可折叠设备方面,Android Q的第一个开发者预览版也很“接地气”,谷歌早在去年11月就发布了对可折叠设备的支持 ...

  6. 谷歌发布 Android 8.1 首个开发者预览版,优化内存效率

    今晨,谷歌推出了 Android 8.1 首个开发者预览版,此次升级涵盖了针对多个功能的提升优化,其中包含对 Android Go (设备运行内存小于等于 1 GB)和加速设备上对机器学习的全新神经网 ...

  7. 中国移动Lumia机强制升级Windows10手机开发者预览版的方法

    [最新消息4-9]微软已经确定将于PST太平洋标准时间周五上午十点也就是北京时间本周六(4-11)凌晨一点推送更新Windows10手机预览版 但是推送更新的机型不包括Lumia Icon 和930 ...

  8. .NET 5.0预览版6发布:支持Windows ARM64设备

    2020年6月25日,微软dotnet团队在博客宣布了第六个 .NET 5.0 的预览版:https://devblogs.microsoft.com/dotnet/announcing-net-5- ...

  9. 微软.NET CORE 3.0 预览版 7 发布:大幅减少 SDK 空间大小

    据悉,这个预览版是 .Net Core 3 中重要的版本,可以视为原计划在 7 月发布的 RC 版本 (引自微软 .NET Core 首席 Program Manager Richard 先生原话), ...

随机推荐

  1. 通过Swagger文档生成前端service文件,提升前端开发效率

    在企业级的项目开发过程中,一般会采用前后端分离的开发方式,前后端通过api接口进行通信,所以接口文档就显得十分的重要. 目前大多数的公司都会引入Swagger来自动生成文档,大大提高了前后端分离开发的 ...

  2. 【MySQL】MySQL(三)存储过程和函数、触发器、事务

    MySQL存储过程和函数 存储过程和函数的概念 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合 存储过程和函数的好处 存储过程和函数可以重复使用,减轻开发人员的工作量.类似于 ...

  3. 图解java 多线程模式 读书笔记

    第1章"Single Threaded Execution模式--能通过这座桥的只有一个人" 该模式可以确保执行处理的线程只能是一个,这样就可以有效防止实例不一致. 第⒉章&quo ...

  4. netty系列之:netty对http2消息的封装

    目录 简介 http2消息的结构 netty对http2的封装 Http2Stream Http2Frame 总结 简介 无论是什么协议,如果要真正被使用的话,需要将该协议转换成为对应的语言才好真正的 ...

  5. 【UE4 C++ 基础知识】<2> UFUNCTION宏、函数说明符、元数据说明符

    UFunction声明 UFunction 是虚幻引擎4(UE4)反射系统可识别的C++函数.UObject 或蓝图函数库可将成员函数声明为UFunction,方法是将 UFUNCTION 宏放在头文 ...

  6. spring cloud feign的各种配置的使用

    在上一节我们完成了feign的基本使用,学会了feign如何去调用其他微服务,这次我们来完成feign的一些自定义配置. 实现功能:     1.全局修改feign的配置和单独修改feign客户端的配 ...

  7. Noip模拟41 2021.8.16

    T1 你相信引力吗 对于区间的大小关系问题,往往使用单调栈来解决 这道题的优弧和劣弧很烦,考虑将其等价的转化 由于所有的合法情况绕过的弧都不会经过最高的冰锥, 又因为环可以任意亲定起点,这样可以直接把 ...

  8. 2021NOI同步赛

    \(NOI\) 网上同步赛 明白了身为菜鸡的自己和普通人的差距 DAY1 \(T1\) 轻重边 [题目描述] 小 W 有一棵 \(n\) 个结点的树,树上的每一条边可能是轻边或者重边.接下来你需要对树 ...

  9. 21.6.17 test

    \(NOI\) 模拟赛. \(T1\) 正解树形DP,由于不是很熟悉概率和期望所以打了个20pts暴力,说不定见多了概率能打出60pts半正解?最后的虚树更不会. \(T2\) 又是概率,还有坐标数量 ...

  10. js fetch异步请求使用详解

    目录 认识异步 fetch(url) response.json() 结合async和await 异常处理 post请求 认识异步 首先我们得明白请求是一个异步的过程. 因为请求需要时间向服务器发送请 ...