跟著小白一起學鴻蒙--JS應用控制LED(十)
在《#跟著小白一起學鴻蒙# [九] 寫個簡單的LED驅動》我們熟悉了如何在開源鴻蒙開發驅動應用,并通過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開發流程
創建工程配置工程增加LED程序添加JSAPI接口編譯運行。
建立[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應用里調用驅動接口。