#冲刺创作新星# [十] JS应用控制LED 原创 精华
作者:王石
在《[九] 写个简单的LED驱动》我们熟悉了如何在OpenHarmony开发驱动应用,并通过hdc工具拷贝至开发板运行。在《[六]第一个hap应用》的文章里我们学会如何用IDE工具编写hap应用并他通过IDE工具安装至开发板运行。我们学会了hap程序的开发,但是hap程序是运行在标准系统的应用,对于轻量和小型系统我们应该如何进行开发呢?接下来我们需要学习下如何开发JS应用。
轻量、小型系统JS应用
Ace(foundation/arkui/ace_engine_lite)是OpenHarmony的轻量级系统所使用的UI框架子系统,为开发者提供JS-UI开发框架。包括.html,.css,.js。开发者可以通过DevEco工具进行开发。其中JS的引擎采用三方库里的JerryScript(jerryscript是IoT设备上的轻量级JS引擎,支持ECMAScript 5.1标准,适配低内存硬件,最小运行在64KB RAM和小于200KB的flash,提供C API)。关于jerryscript的详细介绍可以看如下参考链接(https://github.com/jerryscript-project/jerryscript )
详细的内容介绍在一下链接内可以看到官方的说明:
参考链接:https://gitee.com/openharmony/arkui_ace_engine_lite
此样例参考小熊派设计,使用小熊派HM_Micro开发板进行验证
JS-UI开发流程
-
建立[Lite]Empty Ability
-
配置工程
-
工程结构说明
工程目录主要在entry里,有以下内容:
- .preview: 界面预览目录;
- build: 工程编译目录;
- src:包括i18n(国际化翻译路径),pages(界面目录,index.css, index.hml, index.js)
- 工程预览
-
添加按键功能控制LED灯
- 修改index.hml
- 修改index.css
- 修改index.js
- 预览
-
将代码编译成hap包:点击编辑器最左下角的OhosBuild Varilants,打开编译模式选择视图,编译模式分debug和release,选择release模式;
-
点击编辑器上方菜单栏的Build->Build Hap(s)/App(s)->Build Hap(s),系统就会开始自动编译代码成hap包,等到下方Build Output无编译错误,就表示代码编译完成了。
-
增加JS的API接口
-
在app_module.h里增加接口
-
在app_module.cpp里增加接口实现
-
在
foundation\ace\ace_engine_lite\ace_lite.gni
中添加HDF头文件路径 -
添加编译依赖
-
总结
- 基于JS扩展的类Web开发范式的方舟开发框架,采用经典的HML、CSS、JavaScript三段式开发方式。使用HML标签文件进行布局搭建,使用CSS文件进行样式描述,使用JavaScript文件进行逻辑处理。UI组件与数据之间通过单向数据绑定的方式建立关联,当数据发生变化时,UI界面自动触发更新。此种开发方式,更接近Web前端开发者的使用习惯,快速将已有的Web应用改造成方舟开发框架应用。主要适用于界面较为简单的中小型应用开发;
- 通过appmodule调用framework层接口,然后通过framework接口调用Hdf接口。
这样我们就有了自己的driver和配置,后面的章节我们会讲如何在hap应用里调用驱动接口
参考链接:
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/ui/ui-js-overview.md/
https://gitee.com/bearpi/bearpi-hm_micro_app/blob/master/README.md
终于到JS环节了
不错不错
学下JS下的应用开发
鸿蒙未来应该也会支持JS的吧