发表自话题:HarmonyOS 2
出品|开源中国
文|局长
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 的资源无法联想的问题。