AWTK-WEB 快速入门(2) - JS 应用程序

ops/2024/12/25 21:59:42/

AWTK 可以使用相同的技术栈开发各种平台的应用程序。有时我们需要使用 Web 界面与设备进行交互,本文介绍一下如何使用 JS 语言开发 AWTK-WEB 应用程序。


用 AWTK Designer 新建一个应用程序

先安装 AWTK Designer:

https://awtk.zlg.cn/web/index.html

1. 新建应用程序

这里假设应用程序的名称为 AwtkApplicationJS,后面会用到,如果使用其它名称,后面要做相应修改。

  • 在窗口上放置一个按钮;

  • 将按钮的名称改为 “close”;

  • 将按钮的文本改为 “关闭”。

34529dc1e659a6ba184c42ece407ee2a.jpeg

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 中,执行“打包” “编译” “模拟运行”

774d02fecd0d93739c87d873292acf18.jpeg正常情况下可以看到如下界面:34329da9cb711e94f1ad6fa3e32226ea.jpeg点击“关闭”按钮,退出应用程序。


编写配置文件

具体格式请参考,特殊平台编译配置:

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. 正常启动

2. 调试启动

  • start_web_debug.sh

3. 用浏览器打开

 URL:http://localhost:8080/AwtkApplicationJS,可以看到:

0cc466eaa82189bdd30cbe215bcb767a.jpeg

4. 用浏览器打开 http://localhost:8080/AwtkApplicationJS/simulator.html,可以看到:

d19065f05c132ee2386abcf9c6a034c4.jpeg

5. 用浏览器打开 http://localhost:8080/AwtkApplicationJS/app.html,可以看到:

238a7a5d53c644c5195294de40b85609.jpeg


AWTK-WEB-JS 和 AWTK-JS 不同

两者在 API 上基本上是一样的,但是由于浏览器和 Jerryscript 的差异,导致少量功能无法做到完全一致,需要应用程序自行规避。

  1. AWTK-WEB-JS 不支持模态对话框。
  2. AWTK-WEB-JS 中的 print 函数是打印。请使用 console.log 输出调试信息。
  3. AWTK-WEB-JS 不支持自动回收在 wasm 中分配的对象(如:color/rect/value 等)。如果希望两者通用,请避免使用这类函数。

http://www.ppmy.cn/ops/144947.html

相关文章

使用TC命令模拟弱网丢包

在网络测试和优化过程中,模拟弱网环境(如高延迟、丢包、抖动等)是非常重要的一环。tc(Traffic Control)是 Linux 内核中的一个强大工具,它可以用于流量整形、流量控制、队列管理等。通过 tc,我们…

“Content type ‘text/plain;charset=UTF-8‘ not supported“,

用postman进行新增数据时,如下提示: "Content type text/plain;charsetUTF-8 not supported" Content type text/plain 不支持 点击Headers我们看到Content-Type 支持的类型是json 所以问题出现在这个地方,要将Text切换成JSON…

C++23新特性详解:多维下标运算符

1. 为什么需要多维下标运算符? 在C的发展历程中,多维数组的访问一直是一个令人困扰的问题。让我们先看看传统的多维数组访问方式及其问题: 1.1 传统方式的问题 1.1.1 C风格数组 int matrix[3][4]; matrix[1][2] 42; // 需要多次下标访问…

案例分析-THC7984设计问题报告

目录 简介 配置信息 结论: 简介 使用的环境 AD芯片:THC7984 VGA信号:通过电脑主机产生1024x768 60HZ信号。 配置信息 AD数字数字产生通过FPGA接收。 AD寄存器配置(第一个数数据,第二个是地址): iic_write_reg 1 0x1e iic_write_reg 02 0x5

重温设计模式--迭代器模式

文章目录 迭代器模式(Iterator Pattern)概述迭代器模式的结构迭代器模式UML图C 代码示例应用场景 迭代器模式(Iterator Pattern)概述 定义: 迭代器模式是一种行为型设计模式,它提供了一种方法来顺序访问一个…

关于uni-forms组件的bug【提交的字段[‘*‘]在数据库中并不存在】

问题:在使用 uni-forms校验的时候,出来的一个问题,这个字段都没有设置校验的规则,不知道什么原因就出现了下图的问题: 解决办法: 在uni-forms-item 添加key 值就解决了 原因不知道,有大佬发现…

​在VMware虚拟机上设置Ubuntu与主机共享文件夹​

‌在VMware虚拟机上设置Ubuntu与主机共享文件夹的步骤如下‌: ‌主机共享文件夹的设置‌:首先,在主机上选择一个磁盘分区创建一个文件夹,并设置其共享属性。右键点击该文件夹,选择“属性”,然后在“共享”选…

基于Spring Boot的远程教育网站

一、系统背景与意义 随着互联网技术的飞速发展和普及,远程教育已成为现代教育体系中的重要组成部分。它打破了时间和空间的限制,让学习者可以随时随地进行学习。基于Spring Boot的远程教育网站正是为了满足这一需求而设计的,它利用互联网技术…