導讀
AWTK 可以使用相同的技術棧開發各種平臺的應用程序。有時我們需要使用 Web 界面與設備進行交互,本文介紹一下如何使用 JS 語言開發 AWTK-WEB 應用程序。
用AWTKDesigner新建一個應用程序
1.新建應用程序
這里假設應用程序的名稱為 AwtkApplicationJS,后面會用到,如果使用其它名稱,后面要做相應修改。
在窗口上放置一個按鈕;
將按鈕的名稱改為“close”;
將按鈕的文本改為“關閉”。
![ca65bf88-b261-11ef-8084-92fbcf53809c.png](https://file1.elecfans.com//web3/M00/01/1F/wKgZPGdRDKuAfQpOAAF2EP2O2js979.png)
2.為按鈕編寫代碼
2.1 刪除 src 目錄下全部文件(留著也可以,只是看起來比較亂),在 src 目錄創建 js 目錄。2.2 在 src/js 下創建 application.js ,內容如下:
function applicationInit() { home_page_open();}
applicationInit()
2.3 在 src/js 下創建 home_page.js,內容如下:
function home_page_open() { var win = TWindow.open('home_page'); var close = win.lookup("close", true);
close.on(TEventType.CLICK, function(evt) { var e = TPointerEvent.cast(evt); var target = TButton.cast(e.target);
console.log("click at " + e.x + " " + e.y + " on " + target.name); console.log("global: " + TGlobal.getPointerX() + " " + TGlobal.getPointerY() + " " + TGlobal.isPointerPressed()); return TRet.OK; });
win.layout();}
注意:控件的名稱一定要和 home_page.xml 保持一致。
3. 在 AWTK Designer 中,執行“打包” “編譯” “模擬運行”
![ca71c184-b261-11ef-8084-92fbcf53809c.png](https://file1.elecfans.com//web3/M00/01/1F/wKgZPGdRDKuATRw_AAAds_0LHcg529.png)
正常情況下可以看到如下界面:
![ca79edfa-b261-11ef-8084-92fbcf53809c.png](https://file1.elecfans.com//web3/M00/01/1F/wKgZPGdRDKuAJ_ywAABPdiM51Lw122.png)
點擊“關閉”按鈕,退出應用程序。
編寫配置文件
具體格式請參考,特殊平臺編譯配置:
https://github.com/zlgopen/awtk/blob/master/docs/build_config.md
這里給出一個例子,可以在此基礎上進行修改,該文件位于:
examples/AwtkApplicationJS/build.json
{ "name": "AwtkApplicationJS", "version": "1.0", "app_type":"js", "copyright": "Guangzhou ZHIYUAN Electronics Co.,Ltd.", "themes":["default"], "sources": [ "src/js/*.js" ]}
編譯 WEB 應用程序
進入 awtk-web 目錄,不同平臺使用不同的腳本編譯:
- Windows平臺
./build_win32.sh examples/AwtkApplicationJS/build.json release
- Linux平臺
./build_linux.sh examples/AwtkApplicationJS/build.json release
- MacOS平臺
./build_mac.sh examples/AwtkApplicationJS/build.json release
請根據應用程序所在目錄,修改配置文件的路徑。
運行
1. 正常啟動
./start_web.sh
2. 調試啟動
start_web_debug.sh
3. 用瀏覽器打開 URL:http://localhost:8080/AwtkApplicationJS,可以看到:
![ca81a900-b261-11ef-8084-92fbcf53809c.png](https://file1.elecfans.com//web3/M00/01/1F/wKgZPGdRDKuAUQYBAACg4RzB1KQ404.png)
4. 用瀏覽器打開 http://localhost:8080/AwtkApplicationJS/simulator.html,可以看到:
![ca88f9ee-b261-11ef-8084-92fbcf53809c.png](https://file1.elecfans.com//web3/M00/01/1F/wKgZPGdRDKuAdKBwAADDANgULGM675.png)
5. 用瀏覽器打開 http://localhost:8080/AwtkApplicationJS/app.html,可以看到:
![ca907dcc-b261-11ef-8084-92fbcf53809c.png](https://file1.elecfans.com//web3/M00/01/1F/wKgZPGdRDKuASBLcAAE5LTFyJDA682.png)
AWTK-WEB-JS和AWTK-JS不同
兩者在 API 上基本上是一樣的,但是由于瀏覽器和 Jerryscript 的差異,導致少量功能無法做到完全一致,需要應用程序自行規避。
- AWTK-WEB-JS 不支持模態對話框。
- AWTK-WEB-JS 中的 print 函數是打印。請使用 console.log 輸出調試信息。
- AWTK-WEB-JS 不支持自動回收在 wasm 中分配的對象(如:color/rect/value 等)。如果希望兩者通用,請避免使用這類函數。
圖像顯示應用芯片ZMP110X
硬件高集成化
豐富的多媒體特性
廣泛的應用場景
-
Web
+關注
關注
2文章
1263瀏覽量
69460 -
應用程序
+關注
關注
37文章
3268瀏覽量
57704 -
awtk
+關注
關注
0文章
44瀏覽量
233
發布評論請先 登錄
相關推薦
AWTK有何功能
AWTK的寓意
JSCalc的簡潔Web應用程序設計
基于AWTK開發應用程序需要遵循的規范和方法
如何用AWTK和AWPLC快速開發嵌入式應用程序
【產品應用】用 AWTK 和 AWPLC 快速開發嵌入式應用程序 (2)-走馬燈
![【產品應用】用 <b class='flag-5'>AWTK</b> 和 AWPLC <b class='flag-5'>快速</b>開發嵌入式<b class='flag-5'>應用程序</b> (<b class='flag-5'>2</b>)-走馬燈](https://file1.elecfans.com/web2/M00/8E/61/wKgaomTE2UWAC3RDAAABH5UOQQI905.jpg)
用AWTK和AWPLC快速開發嵌入式應用程序 (1)-溫度控制器
![用<b class='flag-5'>AWTK</b>和AWPLC<b class='flag-5'>快速</b>開發嵌入式<b class='flag-5'>應用程序</b> (1)-溫度控制器](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【Z站推薦】用 AWTK 和 AWPLC 快速開發嵌入式應用程序 (2)-走馬燈
![【Z站推薦】用 <b class='flag-5'>AWTK</b> 和 AWPLC <b class='flag-5'>快速</b>開發嵌入式<b class='flag-5'>應用程序</b> (<b class='flag-5'>2</b>)-走馬燈](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【產品應用】用 AWTK 和 AWPLC 快速開發嵌入式應用程序 (3)- 定時器
![【產品應用】用 <b class='flag-5'>AWTK</b> 和 AWPLC <b class='flag-5'>快速</b>開發嵌入式<b class='flag-5'>應用程序</b> (3)- 定時器](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【產品應用】用 AWTK 和 AWPLC 快速開發嵌入式應用程序 (2)-走馬燈
![【產品應用】用 <b class='flag-5'>AWTK</b> 和 AWPLC <b class='flag-5'>快速</b>開發嵌入式<b class='flag-5'>應用程序</b> (<b class='flag-5'>2</b>)-走馬燈](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【從0開始創建AWTK應用程序】開發及調試環境搭建
![【從0開始創建<b class='flag-5'>AWTK</b><b class='flag-5'>應用程序</b>】開發及調試環境搭建](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【從0開始創建AWTK應用程序】創建應用程序并在模擬器運行
![【從0開始創建<b class='flag-5'>AWTK</b><b class='flag-5'>應用程序</b>】創建<b class='flag-5'>應用程序</b>并在模擬器運行](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【從0開始創建AWTK應用程序】編譯應用到RTOS平臺
![【從0開始創建<b class='flag-5'>AWTK</b><b class='flag-5'>應用程序</b>】編譯應用到RTOS平臺](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 最新動態:支持瀏覽器控件
![<b class='flag-5'>AWTK</b> 最新動態:支持瀏覽器控件](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK-WEB 快速入門(1) - C 語言應用程序
![<b class='flag-5'>AWTK-WEB</b> <b class='flag-5'>快速</b><b class='flag-5'>入門</b>(1) - C 語言<b class='flag-5'>應用程序</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評論