鸿蒙学习高效开发与测试-集成开发环境(4)

文章目录

    • 1、工程管理
    • 2、代码编辑
    • 3、界面预览
    • 4、编译构建
    • 5、代码调试
    • 6、性能调优
    • 7、设备模拟
    • 8、命令行工具
    • 9、端云一体化开发

HUAWEI DevEco Studio 是面向鸿蒙生态的集成开发环境,提供了一站式的鸿蒙生态应用、元服务开发能力,详细能力如图所示。
在这里插入图片描述

1、工程管理

提供基础的工程管理能力,包括工程向导,工程模板,鸿蒙视图,样例导入等,并提供模板市场,支持扩展丰富的模板。开发者可以方便地安装和更新鸿蒙 SDK,利用模板创建鸿蒙生态应用、元服务,使用鸿蒙视图聚焦到关键文件及配置,也能导入样例快速学习了解鸿蒙 API 的用法:
工程向导: 开发者基于模板,方便地创建出工程( Project ),应用模块(Module),库模块(Library),Ability,万能卡片(Service Widget)等开发态元素,快速得到鸿蒙生态应用开发所需的项目结构。
 鸿蒙视图: 通过鸿蒙视图,可以过滤掉应用开发中无需特别关注的文件,如工具自动生成的文件,聚焦鸿蒙开发的代码文件及配置文件。
 模板市场: 模板市场提供了丰富的工程模板,支持模板的发布及更新,HUAWEI DevEco Studio 可以检测到新版本并更新。开发者也可以通过模板市场分享自己开发的工程模板,供其他开发者下载使用。
样例导入: 样例提供了常用鸿蒙 API 的使用指导,开发者可以将样例工程导入到HUAWEI DevEco Studio,学习常用 API 的使用,也可以基于样例工程快速开始开发。

2、代码编辑

针对 ArkTS 语言及 ArkUI 框架,HUAWEI DevEco Studio 提供了代码补全、跳转、校验、重构、高亮、折叠、格式化等一系列编辑功能,辅助开发者便捷地阅读代码,高效地编写代码,实时地纠正代码错误。相较于传统的代码编辑,HUAWEI DevEco Studio 还结合了人工智能技术,根据待补全位置的上下文代码特征进行预测和推荐,使补全项更精准,推荐内容更完整,开发人员可以更快速地完成鸿蒙生态应用、元服务开发。同时,HUAWEI DevEco Studio 内置鸿蒙生态应用、元服务开发编程规范校验功能,实时提示代码错误,支持快速纠错,可高效地将建议修复结果应用于代码中。

3、界面预览

在开发过程中,开发者需频繁修改界面代码,查看对应的呈现效果,确保开发与实现目标一致。传统的开发模式下,开发者每次修改代码后,执行编译构建,并推送应用到设备上重新运行,才能查看到界面的呈现效果,整个过程冗长,产生较大的时间浪费。HUAWEI DevEco Studio 提供了界面预览能力,使开发者更方便快速地调测应用界面,大幅提升界面开发效率。
在这里插入图片描述 页面预览: 可快速查看应用/服务中 UI 代码的呈现效果。
 卡片预览: 可查看多种卡片规格、多种卡片尺寸(最小/标准/最大)的呈现效果。
 组件预览: 可独立查看组件的呈现效果,支持开发者注入组件参数,灵活查看组件在不同上下文中的预览效果。
 自定义预览 profile: 预览 profile 是设备显示能力的抽象定义,典型的 profile 信息有设备名称、 设备类型、屏幕分辨率、屏幕密度、语言、亮暗模式、横竖屏状态等。通过自定义预览 profile,开发者能自由组合设备显示能力,查看 UI 代码在不同设备上的呈现效果。
 快速预览: UI 代码和预览效果可双向定位;组件属性修改,无需保存和编译,快速呈现效果;修改 UI 代码,保存后秒级刷新;预览界面支持点击、滑动、键盘输入等交互能力。

4、编译构建

HUAWEI DevEco Hvigor 是一款华为自研轻量级编译构建工具,将编译操作进行任务化管理,为开发者提供自动化的构建服务。其具备强大的构建能力,支持多种语言(ArkTS、C/C++等)、多种产物类型的快速编译,最终生成 HAR/HSP/HAP/App 包。Hvigor 具备以下特点:
高效编译: 充分利用系统资源,并行执行编译请求,提升编译效率;综合历史信息,精确增量检查,高度复用往次构建产物,缩短编译时长;优化编排任务序列,异步化执行编译操作,减小等待间隙,加速构建流程。
 多目标构建: 具有多目标构建能力,允许开发者灵活选择源码文件、资源信息、部署设备等应用要素,形成多种组合。通过简易配置,匹配自定义构建目标,一键打包生成不同产物,实现“一套代码,多种产物”。
 灵活扩展: 支持开发者自定义编写构建任务,匹配自身业务需求,扩展编译构建流程。
 独立运行: 拥有完善的命令行工具,兼备良好的跨平台能力,可以脱离 HUAWEI DevEco Studio,独立运行在 Windows、Mac、Linux 等操作系统上,支持不同环境下的流水线搭建。
 可视化分析: 构建全流程任务耗时数据展示能力,展示任务时长、任务线程、日志、历史记录等,通过可视化的方式查看构建任务流程,帮助开发者进行构建瓶颈优化。

5、代码调试

在开发过程中,代码调试是使用频率最高的功能之一,开发者可以使用断点跟踪或日志分析,快速定位代码缺陷。HUAWEI DevEco Studio 提供了常用的代码调试功能,如设置断点(普通断点、条件断点、异常断点、符号断点等)、断点跳转( Step Over/Into/Out)、变量值查询、表达式计算、调试堆栈、命令行工具等。此外,基于鸿蒙系统的特点,还提供了以下功能,进一步提升效率:
 跨语言调试: 支持 ArkTS 和 C/C++两种语言同时调试,并支持断点从 ArkTS 语言跳转到被调用的 C/C++语言;
 Hot Reload: 修改代码后,无需重新创建调试会话和启动鸿蒙生态应用、元服务,即时生效,大幅缩短调试时间。
 多维日志: 查看系统消息日志时,可根据设备、进程、日志级别以及自定义的规则灵活过滤,快速筛选,协助定位代码缺陷。在分布式场景下,可以同时查看多个设备的系统消息日志。其中特别重要的异常日志在独立的窗口呈现,避免淹没在大量系统消息日志中。
 ArkUI Inspector: 支持显示视图的布局及组件关系,查看组件属性列表,过滤组件及属性,用于定位真机上的 UI 显示问题。
 反向调试: 支持通过反向单步,反向 continue 等操作,查看历史快照,线程,栈帧,变量等信息。通过反向时间线界面,查看多线程场景下的快照时序,用于定位偶现问题以及多线程并发的资源竞争等问题。
 多线程问题智能检测: 提供 ASan/TSan/方舟等多线程智能检测能力,一键式触发应用问题检测,提供详细的问题定位报告,支持源码跳转。

6、性能调优

应用的运行性能至关重要,一旦出现卡顿、发热、电量消耗过快等问题,便会导致体验急速下降,造成用户流失。性能调优是鸿蒙生态应用开发阶段中非常重要的一环,然而性能优化过程充满挑战,需要开发者了解应用程序框架、系统、硬件各方面知识,并对多维度性能数据进行综合分析。为了降低性能调优技术难度,HUAWEI DevEco Studio 推出了场景化调优工具 DevEco Profiler,提供以下关键能力:
 场景化调优模板: 针对各类典型场景的性能问题,提炼出对应的场景化调优模板,自动采集相应维度性能数据。常用场景化调优模板如表 所示。
 模板自动推荐: 根据实时监控观测到的性能异常事件,自动推荐对应的场景化模板。
 高效数据分析: 关联分析不同维度性能数据,结合同一时刻的代码调用栈,快速分析代码和性能问题之间的因果关系。
 一键定位代码行: 分析结果中代码堆栈并一键跳转至编辑器中的对应代码行。
在这里插入图片描述在这里插入图片描述

7、设备模拟

HUAWEI DevEco Studio 提供了设备模拟的能力,解决鸿蒙生态应用、元服务开发过程中遇到的真机设备不足、无分布式应用调试环境等问题,为开发者提供低成本、易获取的调测验证环境。
多设备模拟: 支持对手机、折叠屏、平板等多种设备进行模拟,针对不同模拟设备提供了差异化的交互界面,方便开发者快速在多个模拟设备上开发调试应用。
 丰富的器件模拟: 提供了多种常用器件、外设、传感器的模拟,包括 GPS、WIFI、电池、麦克风、陀螺仪等,支持开发者调用模拟器件的能力,进行特定功能的开发。
 场景化数据注入: 通过场景化的数据注入能力,开发者能快速模拟一些常见的设备使用场景,方便调试应用在特定场景下的功能。包括低电量、网络代理、摇一摇、GPS 导航、户外跑步运动等场景。

8、命令行工具

HUAWEI DevEco Studio 提供了一系列命令行工具,辅助开发者更高效的开发:
 codelinter: 支持代码检查及问题修复,用于检查代码规范、代码风格、安全及性能、最佳实践等。
 ohpm: 鸿蒙三方库的包管理工具,支持共享包的发布、安装和依赖管理。
 hstack: 支持将混淆后的 crash 堆栈还原为源码对应的堆栈,用于快速定位 release应用的问题。
 hdc: 管理设备、本地和设备之间传输文件、安装和卸载应用、启动和终止应用。
 bytrace: 对内核 ftrace 进行了封装和扩展,配合应用打点,追踪进程轨迹,分析应用性能。

9、端云一体化开发

HUAWEI DevEco Studio 在传统的“端开发”基础上新增了“云开发”能力,支持开发鸿蒙生态应用的云侧服务,提供端云一体的开发体验。
在这里插入图片描述  端云一体化开发: 支持端侧代码和云侧代码的协同开发,统一管理端侧和云侧代码目录,进行端云代码的端到端开发、调试和部署。
 端云一体化组件: 内置完整的云侧逻辑,开发者在集成 UI 组件的同时即可自动实现云侧逻辑,快速实现特定场景的功能。
 Serverless: 为鸿蒙生态应用、元服务的云侧服务提供 Serverless 化托管服务,具有开箱即用、一键部署、自动弹性伸缩、免运维等特点,开发者可聚焦业务逻辑本身,降本增效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/920975.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于yolov8、yolov5的茶叶等级检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要:茶叶等级检测在茶叶生产、质量控制和市场销售中起着至关重要的作用,不仅能帮助相关部门实时监测茶叶质量,还为智能化检测系统提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的茶叶等级检测模型,该模…

Spire.PDF for .NET【页面设置】演示:打开 PDF 时自动显示书签或缩略图

用户打开 PDF 文档时,他们会看到 PDF 的初始视图。默认情况下,打开 PDF 时不会显示书签面板或缩略图面板。在本文中,我们将演示如何设置文档属性,以便每次启动文件时都会打开书签面板或缩略图面板。 Spire.PDF for .NET 是一款独…

从 HTML 到 CSS:开启网页样式之旅(开篇之一)——CSS 初体验与网页样式新征程

从 HTML 到 CSS:开启网页样式之旅(一)——CSS 初体验与网页样式新征程 前言一、为什么需要 CSS?二、CSS的引用(一)行内样式(二)内部样式(三)外部样式&#xf…

Android音频采集

在 Android 开发领域,音频采集是一项非常重要且有趣的功能。它为各种应用程序,如语音聊天、音频录制、多媒体内容创作等提供了基础支持。今天我们就来深入探讨一下 Android 音频采集的两大类型:Mic 音频采集和系统音频采集。 1. Mic音频采集…

数据结构C语言描述4(图文结合)--栈的实现,中序转后序表达式的实现

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法;有C基础即可跟着学习,代码均可运行;准备考研的也可跟着写,个人感觉,如果时间充裕,手写一遍比看书、刷题管用很多,这也是本人采用纯C语言…

数据结构之一:复杂度

相关代码:SData/test_22/main.c Hera_Yc/bit_C_学习 - 码云 - 开源中国 数据结构:在内存当中存储、组织数据的方式。(顺序表、链表、栈、队列、树等)。 算法:与数据结构配合使用,是对数据的处理。&#…

【鸿蒙技术分享:探索 HarmonyOS 开发之旅】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Houdini和Blender如何使用CPU云渲染

近期,渲染101云渲染农场在产品和服务方面进行了重要更新,进一步提升了我们平台的渲染能力和兼容性,助力各位用户高效完成创作。云渲码6666 渲染101云渲码6666 1. Houdini和Blender支持CPU云渲染 我们不断拓展云渲染的工具和平台支持&#x…

02 —— Webpack 修改入口和出口

概念 | webpack 中文文档 | webpack中文文档 | webpack中文网 修改入口 webpack.config.js (放在项目根目录下) module.exports {//entry设置入口起点的文件路径entry: ./path/to/my/entry/file.js, }; 修改出口 webpack.config.js const path r…

网络编程 作业1

1.c #include <myhead.h> #define IP "192.168.60.45" #define PORT 6666 #define BACKLOG 100 void fun(int sss) {if(sssSIGCHLD){while(waitpid(-1,NULL,0)>0);}} int main(int argc, const char *argv[]) {//1.捕获子进程退出时的信号if(signal(SIGCHL…

【2024亚太杯亚太赛APMCM C题】数学建模竞赛|宠物行业及相关产业的发展分析与策略|建模过程+完整代码论文全解全析

第一个问题是&#xff1a;请基于附件 1 中的数据以及你的团队收集的额外数据&#xff0c;分析过去五年中国宠物行业按宠物类型的发展情况。并分析中国宠物行业发展的因素&#xff0c;预测未来三年中国宠物行业的发展。 第一个问题&#xff1a;分析中国宠物行业按宠物类型的发展…

外排序中的归并排序

外排序中的归并排序 7.11 外排序中的归并排序相关基础知识原理最终参考程序 7.11 外排序中的归并排序 外部排序&#xff1a;数据元素太多不能同时放在内存中&#xff0c;根据排序过程的要求不能在内外存之间移动数据的排序。&#xff08;下文也称外排序&#xff09; 例如 1 G…

wsl2中kali linux下的docker使用教程(教程总结)

一、前言 上一篇关于kali linux的文章是图形界面的配置&#xff0c;这里作者准备补充两点&#xff0c;一点是在使用VNC时&#xff0c;如果F8不能用的话&#xff0c;可以试试AltF8&#xff1b;然后就是VNC在初始化设置时的三个设置选项依次是密码、再输一次以及设置仅观看密码。…

Linux系统使用valgrind分析C++程序内存资源使用情况

内存占用是我们开发的时候需要重点关注的一个问题&#xff0c;我们可以人工根据代码推理出一个消耗内存较大的函数&#xff0c;也可以推理出大概会消耗多少内存&#xff0c;但是这种方法不仅麻烦&#xff0c;而且得到的只是推理的数据&#xff0c;而不是实际的数据。 我们可以…

【通俗理解】ELBO(证据下界)——机器学习中的“情感纽带”

【通俗理解】ELBO&#xff08;证据下界&#xff09;——机器学习中的“情感纽带” 关键词提炼 #ELBO #证据下界 #变分推断 #机器学习 #潜变量模型 #KL散度 #期望 #对数似然 第一节&#xff1a;ELBO的类比与核心概念【尽可能通俗】 ELBO&#xff0c;即证据下界&#xff0c;在…

【pyspark学习从入门到精通14】MLlib_1

目录 包的概览 加载和转换数据 在前文中&#xff0c;我们学习了如何为建模准备数据。在本文中&#xff0c;我们将实际使用这些知识&#xff0c;使用 PySpark 的 MLlib 包构建一个分类模型。 MLlib 代表机器学习库。尽管 MLlib 现在处于维护模式&#xff0c;即它不再积极开发…

业务架构、数据架构、应用架构和技术架构

TOGAF(The Open Group Architecture Framework)是一个广泛应用的企业架构框架&#xff0c;旨在帮助组织高效地进行架构设计和管理。 TOGAF 的核心就是由我们熟知的四大架构领域组成:业务架构、数据架构、应用架构和技术架构。 企业数字化架构设计中的最常见要素是4A 架构。 4…

阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!

最近我在知乎上看过的一个热门回答&#xff1a; 初级 Java 开发面临的最大瓶颈在于&#xff0c;脱离不出自身业务带来的局限。日常工作中大部分时间在增删改查、写写接口、改改 bug&#xff0c;久而久之就会发现&#xff0c;自己的技术水平跟刚工作时相比没什么进步。 所以我们…

后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用

目录 后端数据增删改查Springboot 实体&#xff08;entity&#xff09;类引进添加UserMapper接口 创建对用的UserController注意数据库查询不一致新增数据更新删除postman测试 后端数据增删改查 基于之前构建系统&#xff0c;实现用户数据的CRUD。 打开navicat16&#xff0c;…

堆外内存泄露排查经历

优质博文&#xff1a;IT-BLOG-CN 一、问题描述 淘宝后台应用从今年某个时间开始docker oom的量突然变多&#xff0c;确定为堆外内存泄露。 后面继续按照上一篇对外内存分析方法的进行排查(jemalloc、pmap、mallocpmap/mapsNMTjstackgdb)&#xff0c;但都没有定位到问题。至于…