据华为鸿蒙官方发布,HUAWEI DevEco Studio(简称 DevEco Studio)是开发 HarmonyOS 应用和原子化服务的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等功能。
近期,华为 DevEco Studio 3.0 Beta 3 已发布,为支撑 OpenHarmony 应用及服务开发的第一个版本。
版本变更说明
DevEco Studio 3.0 Beta3 是支撑 OpenHarmony 应用及服务开发的第一个版本,具有以下能力特点:
支持一站式的信息获取平台
基于开发者了解、学习、开发、求助的用户旅程,我们在 DevEco Studio 中提供了一站式的信息获取平台:OpenHarmony 信息中心,该版本是第一次上线,目前支持了如下能力:
提供 OpenHarmony 应用开发快速入门、DevEco Studio 版本说明、常见问题的内容集成,体验沉浸式的信息阅读体验。
支持 Sample 的在线浏览及一键创建。
支持文档内容与 DevEco Studio 功能的深度融合,可在阅读文档过程中,拉起 DevEco Studio 相应功能,一键直达。
支持开发者的匿名意见反馈,您的意见将会是我们 DevEco Studio 以及文档改进的重要输入来源。
支持 OpenHarmony 应用开发过程中相关资源的快速获取,提高信息获取效率。
提供多设备工程模板
工程模板为应用开发提供便利,基于声明式开发范式和类 web 开发范式,DevEco Studio 为 OpenHarmony 开发者提供多设备工程模板并支持跨设备开发。在开发应用 / 服务时,开发者根据向导创建好工程后,DevEco Studio 会自动生成示例代码和相关资源,待工程同步完成即可直接运行,开发者无需从零开始敲代码,可快速上手。
高效的代码编辑
在编写应用或服务代码阶段,运用代码常用技巧可提升编码效率,DevEco Studio 提供代码高亮、代码折叠、代码格式化等各种常用技巧,同时支持联想补齐、代码跳转、代码校验等,实现代码的高效编辑。
支持可视化的界面 UI 开发
OpenHarmony 低代码开发提供高效的可视化设计方式,具有丰富的 UI 界面编辑功能,其界面、逻辑分离,支持自由拖拽 & 盒式拖拽各类组件,快速预览效果,所见即所得,同时支持卡片零码化开发,有效提升构建 UI 界面的效率。开发者在创建工程选择开启 Super Visual,打开使用低代码开发功能,在工程目录结构下打开“.visual”文件,即可进行页面的可视化布局设计与开发。
双向、极速的 UI 预览
在 OpenHarmony 应用 / 服务开发过程中,DevEco Studio 为开发者提供预览器功能,支持 UI 代码的双向预览、极速预览、实时预览、动态预览、多设备预览及组件预览,方便开发者随时查看 UI 运行效果。
双向预览:支持代码编辑器、UI 界面和 Component Tree 组件树三者之间的联动。例如,如果在 UI 界面选中一个组件,组件树中的对应组件会被选中,同时编辑器中的对应代码块会高亮;如果在代码或者组件树中点击时,也会在 UI 界面中高亮定位;此外如果在属性框中修改属性,代码中对应属性也会同步修改。
极速预览:在开发界面 UI 代码过程中,如果修改了组件的属性,则预览器会实时(亚秒级)刷新预览结果,达到极速预览的效果,当前版本支持 eTS 组件。
实时预览:在开发界面 UI 代码过程中,如果添加或删除了 UI 组件,您只需 Ctrl+S 进行保存,然后预览器就会立即刷新预览结果。
动态预览:在预览器界面,可以在预览器中操作应用 / 服务的界面交互动作,如点击事件、跳转、滑动等,与应用 / 服务运行在真机设备上的界面交互体验一致。
多设备预览:支持在不同的设备上查看应用 / 服务的 UI 布局和交互效果,最多同时支持 4 个设备。点击 Previewer 右上角按钮,打开 Profile Manager 中的 Multi-profile preview 开关,就可同时查看多设备上的应用 / 服务运行效果。
组件预览:支持 eTS 组件预览,通过在组件前添加注解 @Preview 实现,在单个源文件中,最多可以使用 10 个 @Preview 装饰自定义组件。
全新的编译工具 Hvigor
面向 OpenHarmony 的 JS / eTS 开发,基于 JS 领域的编译打包和包管理技术,DevEco Studio 提供自动化构建工具 Hvigor,实现 OpenHarmony 应用 / 服务的一键自动化构建。
Hvigor 是一款全新基于 TS 实现的前端轻量构建工具,结合 npm 包管理机制,主要提供任务管理机制,任务注册编排、工程模型管理、配置管理、全新的命令行入口等关键能力,更符合 openHarmony TS / JS 开发者的开发习惯。
支持基于设备系统能力集 SysCap 进行应用开发
SysCap,全称 System Capability,即系统能力,指操作系统中每一个相对独立的特性,如蓝牙,WIFI,NFC,摄像头等,都是系统能力之一。DevEco Studio 支持将设备定义的系统能力 Syscap 集合通过 PCID(Product Compatibility ID)进行导入,导入 PCID 后,编辑器根据系统能力 SysCap 集合自动过滤和自动联想支持的 API。在编译构建 HAP 包时,DevEco Studio 根据应用使用的系统能力 Syscap 集合生成 RPCID(Required Product Compatibility ID),应用市场根据 RPCID 将应用自动分发到支持的设备。
支持全自动化的应用签名机制
为了确保 OpenHarmony 应用和服务的完整性,OpenHarmony 通过数字证书和授权文件来对应用进行管控,只有签名过的 HAP 才允许安装到设备上运行。为方便开发者进行调试,DevEco Studio 提供了全自动化的签名方案,一键生成签名信息。
丰富的代码调试调优能力
代码调试:DevEco Studio 支持 OpenHarmony 应用 / 服务的调试,支持一键式应用打包、安装、运行及调试,同时支持 JS / TS / eTS / C++ 语言调试,包括支持断点管理、单步调试、变量查看等基础调试能力外,还支持变量可视化,应用 attach 调试,HiLog 日志打印、过滤及导出等功能,方便开发者高效进行代码调试,问题分析定位。
代码调优:支持当前应用与系统实时 CPU 负载、Memory 占用情况展示,支持函数栈的 trace 文件、perf 文件离线解析与展示,并支持此类文件的录制与导出。
已知问题
在使用 DevEco Studio V3.0 Beta3 版本过程中,您可能会遇到以下问题,我们将在后续版本中针对这些问题进行改进和优化。
环境配置:
在配置 OpenHarmony 开发环境时,macOS 会出现设置 HTTP proxy 的弹框,如果您不需要设置代理,请直接点击 Netx:Configure npm 进行下一步配置。
在 macOS 中,如果选择了 macOS Light 主题,可能会导致功能异常,如导入 PCID 失败,请更换为其它主题。
工程管理:
在工程中删除模块后,右小角会出现“Build Sync Failed!”的错误提示,该提示信息请忽略,工程可以正常进行编译。
使用深色主题下,在创建工程、新增模块、新增 Ability、新增 Page 等操作时,配置向导界面会出现闪动的现象,但不影响功能使用。
在从深色主题切换到浅色主题时,部分界面或窗口(如 Settings 界面)未适配的情况。
低代码开发:
创建低代码工程,添加 button 组件,绑定事件后进行代码调试,在进入断点时,会出现断点执行顺序错乱的问题。
预览器:
在 macOS 中预览 Button、Checkbox、Toggle、TextInput、Blank、Rating 组件,修改相应组件的属性时,预览器界面不会立即刷新,需要 Ctrl+S 保存后才会更新。
Panel 组件预览异常。
在 eTS 代码中,打开双向预览开关,新增组件属性后,会出现组件树异常,无法双向定位,需要 Ctrl+S 保存后才能恢复。
在模块的 hml 代码中引用 npm 包中的自定义组件,新增或删除组件并使用 Ctrl+S 保存后,预览界面会显示白屏,需要点击刷新按钮才能恢复。
在 eTS 模块中引用 npm 三方共享包中的 JS 函数,如果修改了引用的 JS 函数,预览界面不会刷新,需要点击刷新按钮才能恢复。
调试运行:
使用开发板连接 DevEco Studio,可能会出现设备无法识别的问题,处理方式请参见设备连接后,无法识别设备的处理指导。
在 Hilog 中调用 hilog.isLoggable 接口会出现程序卡死,影响后续程序运行,例如 Hilog 日志打印失败。建议暂时不要使用该接口。
Profile 性能分析:
在进行 Profile 录制时,点击 Stop 停止录制时,会概率性出现录制失败的情况,提示“Failed to get the recorded file of sample perf record type”,请尝试重新录制。
相关链接查看:
https://developer.harmonyos.com/cn/docs/documentation/doc-releases/ohos-release-notes-0000001226452454
https://developer.harmonyos.com/cn/docs/documentation/doc-releases/ohos-known-issues-0000001270692597
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-sdk-command-line-tool-0000001263280431