【PIMF】忍无可忍,爆料低代码入门OpenHarmony应用开发真相!

离北况归 离北况归 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

本文来自OpenHarmony成长计划啃论文俱乐部11组PIMF(Preeminent Input Method Framework),PIMF即卓越的输入法框架。
大家好!我来自南京,在OpenHarmony成长计划啃论文俱乐部,与华为、软通动力、润和软件、拓维信息、深开鸿等公司一起,学习和研究操作系统技术,我是11组PIMF的成员。

前言

OpenHarmony 3.1 Release于2022年3月30日发布后,3月31日华为发布了最新的IDE工具 DevEco Studio 3.0 Beta3 for OpenHarmony 。(DevEco Studio 3.0 Beta3是支撑OpenHarmony应用及服务开发的第一个版本,改变了之前HarmonyOS和OpenHarmony共用IDE的局面)

fbef6561523349567482f19ff89b078.jpg

笔者阅读文档尝试使用DevEco Studio 3.0 Beta3 for OpenHarmony进行低代码开发OpenHarmony应用,现将过程分享如下:(另外声明本文章标题绝对“严肃”,“正经”)

5a65c60c0abeb4ac48a1189c9e66a62.jpg

DevEco Studio 3.0 Beta3作为支撑OpenHarmony应用及服务开发的IDE,具有以下能力特点:

智能代码编辑:代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、代码查找,提升代码编写效率。
低代码开发:丰富的UI界面编辑能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得,同时支持卡片零码化开发,提升界面开发效率。
多端双向实时预览:支持UI界面代码的双向预览、实时预览,动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。
全新构建体系:通过Hvigor编译构建工具,一键完成应用及服务的编译和打包,更好地支持eTS/JS开发。
一站式信息获取:基于开发者了解、学习、开发、求助的用户旅程,在DevEco Studio中提供一站式的信息获取平台,高效支撑开发者活动。
高效代码调试:提供TS、JS 、C/C++代码的断点设置,单步执行、变量查看等调试能力,提升应用及服务的问题分析效率。

成果(实现一个简单的页面跳转)

123.gif

搭建开发环境

8a3a7f245a712f28d9ecea31a3ec14e.jpg


1.官方文档指导华为官网
2.遇到SDK无法下载的问题51cto相关帖子
3.使用低代码开发应用或服务有以下两种开发方式:

  • 直接创建一个支持低代码开发的新工程以进行开发。 本文以此方式为例进行说明。
  • 在已有工程中,创建Visual文件来进行开发。

接下来我们以创建一个低代码开发的新工程为例进行说明。

创建支持低代码开发的新工程

1.打开工程创建向导(File > New >Create Project) ,创建一个新工程。
2.工程模板选择"Empty Ability",然后点击Next进行下一步。
3.填写工程配置信息,打开"Enable Super Visual"开关,UI Syntax选择"JS",其余配置保持默认即可。
4.最后在工程配置信息界面,点Fish,完成工程创建。

1234.gif

关于低代码工程的目录介绍如下:

  • entry > src > main > js > MainAbility > pages > index > index.js: 低代码页面的逻辑描述文件,定义了页面里所用到的所有的逻辑关系,比如数据、事件等。如果创建了多个低代码页面,则pages目录下会生成多个页面文件夹及对应的js文件。
    使用低代码页面开发时,其关联js文件的同级目录中不能包含hml和css页面,否则出现编译错误。
    
  • entry > src > main > supervisual > MainAbility > pages > index > index.visual: visual文件存储低代码页面的数据模型,双击该文件即可打开低代码页面,进行可视化开发设计。如果创建了多个低代码页面,则pages目录下会生成多个页面文件夹及对应的visual文件。

编写第一个页面

工程同步完成后,第个页面已有一个容器、文本(Hello World)显示。
为了更详细地了解低代码开发,我们删除画布原有模板组件,从零开始完成页面的添加、设置。
++第一个页面内有一个容器、文本和一个按钮,通过Div、 Text和Button组件来实现。++

1.删除画布原有模板组件。

  • 打开"index.visual"文件,选中画布中的组件,单击鼠标右键,选择Delete删除画布原有模板组件。

    12345.gif

2.添加容器,设置Div容器的样式和属性。

  • 选中UI Control中的Div组件,将其拖至画布。
  • 点击右侧属性样式栏中的样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕;
  • 点击右侧属性样式栏中的样式图标(Flex), 设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的Alignltems样式为center, 使得其子组件在交叉轴上居中显示。

    123456.gif

3.添加文本。

  • 选中UI Control中的Text组件,将其拖至Div组件的中央区域。
  • 点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为“低代码入门” ;
  • 点击右侧属性样式栏中的样式图标。(Feature) ,设置组件的FontSize样式为60px, 使得其文字放大;设置组件的TextAlign样式为center, 使得组件文字居中显示。
  • 再选中画布上的Text组件,拖动放大。

    1234567.gif

4.添加按钮。

  • 选中UI Control中的Button组件,将其拖至Text组件下面。
  • 点击右侧属性样式栏中的属性图标(Properties),设Button组件的Value属性为"一键入门";
  • 点击右侧属性样式栏中的样式图标 (Feature) , 设置组件的FontSize样式为40px,使得其文字放大;
    再选中画布上的Button组件,拖动放大。

    12345678.gif

5.打开预览器查看效果

123456788.gif

编写第二个页面

1.创建第二个页面。
在"Project"窗口,打开"entry > src > main > js > MainAbility",右键点击pages"文件夹,选择"New >Visual",命名为"second", 单击Finish",即完成第二个页面的创建。

3ada9fe3b4962f7aefcfddac20c2642.png

2.接下来操作步骤和编写第一个的页面一模一样,操作略,第二个页面效果如下:

1234567886官.gif

实现页面跳转

页面间的导航可以通过页面路由router来实现。页面路由router根据页面uri找到目标页面,从而实现跳转。使用页面路由请导入router模块。
1.第一个页面跳转到第二个页面。
在第一个页面中, 跳转按钮绑定onclick方法, 点击按钮时,跳转到第二页。需同时处理js文件及visual文件

export default {
onclick (){
router.push({uri:'pages/second/second',})
}
}

- "index.viusal":打开"index.visual", 选中画布上的Button组件。点击右侧属性样式栏中的事件图标(Events) ,鼠标点击Click事件的输入框,选择onclick,如下所示:
![1234567886官2.gif](https://harmonyos.oss-cn-beijing.aliyuncs.com/images/202204/4776d6e138416b6db39641fc90a424a31176bc.gif)

2.第二个页面返回到第一个页面。
在第二个页面中,返回按钮绑定back方法,点击按钮时,返回到第一页。
需同时处理js文件及visua文件。
- second.js示例如下:
```import router from '@system.router'
export default {
   back() {
       router.back()
   }
}
  • "second.viusal": 打开"second.visual", 选中画布上的Button组件。 点击右侧属性样式栏中的事件图标(Events), 鼠标点击Click事件的输入框,选择back。

    1234567886官24.gif

预览查看效果

打开index.visual或index.js文件,点击预览器

1234567886官245.gif

打开肥宅快乐水庆祝一下

da02a492097019628b3b2250f7f1d88.jpg

由于本人水平有限以及知识面的狭隘,文章中有疏漏和不足之处敬请各位老师和读者批评指正。

参考链接:DevEco Studio 3.0 Beta3 for OpenHarmony 工具简介

...全文

相关推荐

【化工设备防腐】基于BF凝水除铁缓蚀剂的螺旋板换热器腐蚀与冷凝水发红问题综合治理技术应用

内容概要:本文针对氯碱厂盐水螺旋板预热器腐蚀渗漏及蒸汽冷凝水发红、偏酸性的问题,提出并实施了采用BF凝水除铁缓蚀剂成膜法的综合治理方案。通过分析腐蚀原因,确认主要为二氧化碳引起的酸性腐蚀和溶解氧导致的氧腐蚀。在原有阴极保护与局部防腐涂层改造基础上,进一步投加BF凝水除铁缓蚀剂,该药剂能在金属表面形成单分子保护膜,有效阻隔腐蚀介质,实现全系统气液两相的协同防护。经72小时试验,冷凝水pH值恢复至8.5以上,铁离子浓度降至0.07mg/L以下,颜色清澈透明,达到回用标准,实现了设备安全运行与冷凝水高效回收。; 适合人群:从事化工、电力、锅炉系统管理及相关工业设备维护的技术人员与工程管理人员,尤其适用于面临换热器腐蚀、冷凝水水质异常问题的企业技术人员。; 使用场景及目标:①解决工业蒸汽系统中冷凝水发红、铁离子超标、pH偏低等腐蚀问题;②提升冷凝水回收率,降低能耗与水资源浪费,实现节能减排与降本增效;③替代传统除氧剂与末端过滤设备,优化现有水处理工艺。; 阅读建议:此资源结合实际案例提供系统性解决方案,读者应重点关注问题诊断逻辑、药剂作用机制与实施流程,可将其作为类似工况下腐蚀治理的技术参考,并结合自身系统特点进行可行性评估与小试验证。

jishufenxiang7

数字化供应链AI智能体平台规划及场景应用方案.pptx

数字化供应链AI智能体平台规划及场景应用方案.pptx

公众号:优享智库

无刷直流电机BLDC无感+滑模观测器+转速电流双闭环PI控制(总共三个仿真模型)(Simulink仿真实现)

内容概要:本文档系统阐述了无刷直流电机(BLDC)在无位置传感器条件下的高性能控制策略,基于Simulink平台构建了三个相互关联的仿真模型,重点实现无感控制与滑模观测器(Sliding Mode Observer, SMO)相结合的转速电流双闭环PI控制系统。该资源摒弃了传统的霍尔传感器,利用滑模观测器实时估算转子的位置与转速信息,有效降低了系统成本并提升了在恶劣环境下的运行可靠性。仿真模型完整涵盖了逆变电路、空间矢量脉宽调制(SVPWM)、三相电流采样、坐标变换(Clark & Park)、PI调节器以及滑模观测器等核心模块,形成了一个闭环的、高动态响应的电机驱动系统。此外,文档还集成了模糊PID、传统PID等多种控制算法的对比仿真模型,便于研究者深入分析不同控制策略在动态响应、抗干扰能力和稳态精度方面的性能差异,为电机控制算法的研究与工程化应用提供了坚实的仿真验证基础。; 适合人群:具备自动控制理论、电机拖动原理及电力电子技术基础知识,并熟悉MATLAB/Simulink软件操作的电气工程、自动化、机电一体化等专业的高年级本科生、硕士研究生,以及从事电机驱动、新能源汽车、工业自动化等领域的研发工程师和技术人员。; 使用场景及目标:①深入学习和掌握无刷直流电机无位置传感器控制的基本原理与实现方法;②系统性地理解滑模观测器的设计思想、稳定性分析及其在转子位置与速度估计中的关键技术;③对比研究传统PI控制、模糊PID控制及滑模观测器在BLDC调速系统中的综合性能,分析其在不同工况下的鲁棒性与适应性;④为毕业设计、科研课题或工业项目中的电机控制系统开发提供可复用的仿真平台与技术参考。; 阅读建议:本资源以Simulink仿真为核心载体,建议使用者结合文档中提供的详细说明报告与参考文献,循序渐进地理解各功能模块的设计逻辑与参数整定方法。在学习过程中,务必动手运行并调试仿真模型,仔细观察并记录在不同负载突变、转速指令变化等工况下,电机的三相电流、转速响应曲线及滑模观测器输出的转子位置与速度的动态波形,从而深刻理解控制算法的内在机理。为进一步提升实践与创新能力,可尝试修改控制器参数(如PI增益、滑模增益),或替换不同的控制策略进行对比实验,探究其对系统性能的影响。

天天程序猿

基于热成像的土壤水分反馈MATLAB实现,以及用于灌溉调度的模型预测控制。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光

(报告+仿真)基于永磁同步电机的飞轮储能系统控制(网侧逆变+机侧整流)仿真

内容概要:本文针对含分布式电源的配电网在多线路故障情况下的恢复问题,提出了一种将网络重构、孤岛划分与检修进度统一纳入多时段优化框架的故障恢复模型。该模型以最小化网损和甩负荷惩罚为目标,采用混合整数二阶锥规划方法,结合虚拟流思想与二阶锥松弛技术,实现对支路投切状态、负荷保留比例、节点电压、功率分布等变量的协同优化,确保各供电区域的连通性与辐射状结构。模型在IEEE33节点系统上进行验证,支持动态调整孤岛范围,充分利用联络开关转供能力和分布式电源的黑启动能力,提升了配电网的韧性与恢复效率。同时,文章对建模细节进行了深入评述,并提出了在负荷分级、无功处理、辐射状约束精确性等方面的改进建议。; 适合人群:电力系统自动化、智能电网、配电系统优化等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究含高比例分布式电源的主动配电网在故障后的快速恢复策略;②为配电网重构、孤岛划分与多时段动态恢复的联合优化提供建模范式;③作为学术论文复现与改进的基础模型,推动配电网韧性提升技术的发展。; 阅读建议:建议读者结合文中提到的参考文献与仿真代码,深入理解虚拟流建模、二阶锥松弛等关键技术的应用逻辑,并尝试在模型中引入负荷等级权重、储能系统、分布式电源出力调控等要素,以增强模型的实用性与完整性。

欢多天天写代码
评论
收藏 已收藏
分享
返回顶部