今日看点

DevEco Studio 2.1 Beta3 发布,HarmonyOS 的配套 IDE

发表于话题:HarmonyOS 2
发布时间:2021-06-02

出品|开源中国

文|局长

2021年3月,DevEco Studio 迎来更新,2.1 Beta3 版本发布。

HUAWEI DevEco Studio(以下简称 DevEco Studio)是面向华为终端全场景多设备的一站式集成开发环境 (IDE),为开发者提供工程模板创建、开发、编译、调试、测试、发布等 E2E 的 HarmonyOS 应用开发服务。通过使用 DevEco Studio,开发者可以更高效地开发具备 HarmonyOS 分布式能力的应用,进而提升创新效率。

下面看看此版本的更新亮点。

一、预览器新增双向预览功能

在 HarmonyOS 应用开发过程中,开发者可通过点击“Previewer”查看应用的 UI 界面效果。当开发者发现 UI 界面的布局显示不符合预期时(eg:控件的宽度不符合设定值、控件不显示等),需要逐一排查 UI 界面中布局或控件的异常。

为了提高排查的效率,DevEco Studio 2.1 Beta3 在已有的“实时预览”和“动态预览”基础上,全新解锁了双向预览功能。

实时预览:只要在布局文件中保存了修改的源代码,在预览器中就可以实时查看布局效果。

动态预览:在预览器界面,可以在预览器中操作应用的交互动作,如点击事件、跳转、滑动等,与应用运行在真机设备上的交互体验一致。

所谓双向预览,即支持代码编辑器、预览器界面(含属性列表)两者之间的联动,便于快速定位控件,从而提升解决 UI 界面问题的效率。开发者可以通过在预览器界面,点击图片图标的方式,打开双向预览功能。

具体联动效果如下:

①通过预览器界面中的属性列表,修改属性或样式后,代码编辑器中的源码会同步修改,并实时刷新预览器界面;

②同样的,如果在代码编辑器中修改源码,将会实时刷新预览器界面及属性列表。

但值得注意的是,若碰到以下情况,则不支持修改其属性:

HTML 布局代码里使用了数据绑定的属性;

XML 布局代码里使用了资源引用的属性;

UI 界面设置了动画效果。

温馨提示:不同的 API Version 版本,预览器支持的功能略有不同,具体差异如下:

二、预览器新增Java UI界面的数据模拟功能

在预览场景中,由于代码的运行环境与真机设备上的运行环境不同,调用部分接口时无法获取到有效的返回值。开发者若想根据返回值做出不同的 UI 界面展现,则需手动反复修改代码逻辑,以验证不同 UI 界面效果。

为了减少修改,DevEco Studio 提供 PreviewMock 数据模拟功能,即在不改变业务运行逻辑的前提下,模拟 API 或者业务代码中的各种 method(不包括构造方法)的返回值和对象中的 Field(不包括 final 字段)的值。这样开发者就可以在预览时,查看到不同返回值带来的界面变化。

不过值得注意的是,DevEco Studio 2.1 Beta3 当前仅支持 Java UI 界面的 PreviewMock 数据模拟功能。与此同时,要想使用 PreviewMock 数据模拟功能,需先在模块的 build.gradle 中添加相关依赖,并重新同步工程。

(图:在 build.gradle 中添加 PreviewMock 的依赖)

除了上述的两大亮点功能,在 Java UI 界面预览方面,开发者在预览 Ability 或 AbilitySlice 时,保存修改后的代码,即可做到实时预览;在 JS UI 界面预览方面,开发者可直接选择某一个 page(页面)进行实时动态预览。

三、编辑器新增 config.json 可视化配置功能

作为 HarmonyOS 应用开发的入门选手,你是否为了了解配置项的含义,而反复查阅 HarmonyOS 官网的资料文档?为了减少开发者反复切换界面查阅资料文档的行为,DevEco Studio 2.1 Beta3 新增了可视化配置功能。

开发者可通过打开 config.json 文件,点击

除了上述的亮点功能,DevEco Studio 2.1 Beta3 在编辑器方面,还做了其它优化,具体优化细节如下:

五、新增 Java 测试框架

为了减化繁琐的人工测试环节,DevEco Studio 2.1 Beta3 新增了 Java 测试框架,提供 Java 代码白盒测试能力,帮助开发者高效编写和执行测试用例,保障应用基础质量。

在开发阶段,开发者可借助由 Java 测试框架提供的 IAbilityDelegator,进行 APP 组件操控测试(如:启动/关闭 FA、获取界面 UI 元素、注入 UI 点击事件等),及时发现 UI 交互问题。或使用 JUnit 4 语法范式,编写测试用例、调用系统接口,获得 API 返回值或触发业务流程,根据接口返回值或业务状态,判断业务逻辑的正确性。

Java 测试框架在真机或远程模拟器设备上运行的前提:

① 远程模拟器需注册开发者账号并完成实名认证;

② 真机设备需搭载 HarmonyOS 操作系统,并打开调试模式,且有相应的签名文件。

六、新增 5 个手机 (Phone) 工程模板

DevEco Studio 支持手机(Phone)、平板(Tablet)、车机(Car)、智慧屏(TV)、智能穿戴(Wearable)、轻量级智能穿戴(Lite Wearable)和智慧视觉(Smart Vision)七种设备的 HarmonyOS 应用开发,支持 Java、JS 和 C/C++ 编程语言。

为了方便开发者的使用,DevEco Studio 提供了多设备类型、不同开发语言的 Ability 模板。本次的新版本,在原有的基础上,新增了 5 个手机(Phone)工程模板,目前手机(Phone)工程模板共 19 个。开发者们可根据工程向导,挑选合适的模板,轻松创建适用于各类设备的工程,并自动生成对应的代码和资源模板。

除了以上的六大亮点,DevEco Studio 2.1 Beta3 在开发者打开历史工程时,会提示开发者将历史工程进行升级适配,点击提示中的“Update”,即可一键自动化修改工程中的配置信息,省去开发者逐一修改相关配置的烦恼。

除此之外,DevEco Studio 2.1 Beta3 还在不少细节上进行了优化。下面请看细节清单:

①升级 IntelliJ IDEA 底座至 IntelliJ IDEA CommunityEdition 2020.2.4 版本(温馨提示:由于底座升级,开发者需要手工升级不可用的三方插件,避免出现已安装的三方插件不兼容情况)

②在调试阶段,开发者可设置 hap 包的安装方式。若选择覆盖安装,则会保留已安装应用内的缓存数据,无需重装应用后再重新构建相关数据,方便调试。

③解决了部分开发者下载 Node.js 缓慢或者失败的问题。通过集成 Node.js 并预置华为公有云的 npm 仓,进一步缩短搭建 HarmonyOS 应用开发环境的时间。

④已适配支持 macOS11.2.2 版本。

⑤解决了 XML 里面的 drawable 的资源无法联想的问题。

标签组:[软件] [ide

本文来源:https://www.kandian5.com/articles/24020.html

相关阅读

宋理宗聪明绝顶为什么选了一个白痴当太子

赵禥是南宋第六位皇帝,即宋度宗,他在位十年,毫无作为,整日吃喝玩乐,于1274年病死,他虽然不是南宋的亡国之君,但却是南宋亡国的罪人!更让人意想不到的是,赵禥是个弱智!根据史书记载,赵禥的父亲是荣王赵...

2025-09-12

特洛伊战争为什么要围城九年

英雄们聚集在奥利斯港湾(Aulis),军队人数有十万人,船数一千一百八十六。出发前大家都在岸边祭坛作献祭,忽然间祭坛下面爬出了一条血红的怪蛇,它弯曲成环状爬上了树,爬到树最高处的一个鸟巢,吃了一只雌鸟...

2025-09-12

鱼玄机是被丈夫骗进道观的吗

鱼玄机出生在长安,当时的大唐国都。生逢盛世,但是家世早衰,鱼玄机出生时,家境已经十分贫寒。她的父亲虽然读过几年书,腹中有些墨水,但是仕途很不顺遂,只能将自己的全部期望寄托在女儿身上。当时鱼玄机还叫做鱼...

2025-09-12

特洛伊战争一共持续几年

特洛伊战争是发生在古希腊的一次战争,发生的地点是现在地中海附近。这场战争的导火索普遍认为是美女海伦,为了抢夺一个名叫海伦的绝世美女,斯巴达王与帕里斯短兵相接。但是有学者推测,这场战事其实是一场盟军对抗...

2025-09-12

荸荠不能生吃吗

姜片虫感染还是挺麻烦的,轻则肠炎腹泻,重则贫血浮肿,儿童可能出现智力低下,甚至死亡。姜片虫在水生植物上都可能存在,不光荸荠,什么茭白菱角,乃至空心菜等,都要反复清洗,保证做熟再吃。尤其荸荠和菱角,千万...

2025-09-12

西晋公主流落街头被卖去当丫鬟下场是什么

这位公主就是西晋时期的临海公主,她的父亲是司马衷,她出生的时候,八王之乱刚刚结束不久,作为公主原本应该享受富贵的生活,可是没过多久西晋就被灭了。皇室成员纷纷外逃,为了保住性命她也逃出了洛阳。在逃跑的途...

2025-09-12

最惨的和亲公主10岁出嫁三个月后离奇身亡

虽然历史上和亲的公主有许多是宫女顶替的,但送去之后多数的结局并不好,而且有许多年幼的公主,尚未涉足人世间的险恶,就不得不去独自面对他乡的险恶,在历史上曾有一位年仅10岁的公主和亲,可因为生得太美,便被...

2025-09-12

古代被抄家的女子是什么下场

《绣春刀》里所说的,入教坊司当妓女只是其中一种结果,但是,电影中所讲的不一定确切,入了教坊司不一定做妓女。教坊司是干什么的呢?主要负责"朝会宴享,冬至,正旦,进实录,册封,诏进士,告祖庙,祭郊祀,进士...

2025-09-12

晋孝武帝真的因为嘲笑张贵人人老色衰被妃子杀了吗

这一天,晋孝武帝和张贵人一起饮酒作乐,晋孝武帝让张贵人多喝几杯,而张贵人已经喝够了,所以就不喝了,晋孝武帝就跟她开玩笑说:“你都年过三十了,人老色衰了,后宫里比你年轻的美女多着呢,信不信我废掉你,把你...

2025-09-12

特洛伊战争的结局究竟是怎样的

特洛伊战争结局以特洛伊城池化为一片废墟而告终。由于特洛伊城池在宙斯的两个儿子修建下非常牢固,所以易守难攻,迈锡尼士兵攻占十年也未能攻下城池,最终伟大的英雄奥德赛献计,伪装成军队已经离开的样子,让迈锡尼...

2025-09-12