ZLG 开源 GUI 引擎 awtk 针对三星开源 JS 引擎 jerryscript 的绑定。
- 获取 awtk 并编译
git clone https://github.com/zlgopen/awtk.git
cd awtk; scons; cd -
AWTK 的编译环境请参考 AWTK 的文档。
- 获取 awtk-jerryscript 并编译
git clone https://github.com/zlgopen/awtk-jerryscript.git
cd awtk-jerryscript
git clone https://github.com/jerryscript-project/jerryscript.git 3rd/jerryscript/jerryscript
cd 3rd/jerryscript/jerryscript
git reset --hard 3737a28eafd580a2bee2794e4f5edd0c0471a0c6
- 生成资源
python ./scripts/update_res.py all
或者通过 designer 生成资源
- 编译PC版本
scons
- 编译LINUX FB版本
scons LINUX_FB=true
完整编译选项请参考编译选项
./bin/awtkRun xxxx
请把 xxxx 换成具体的 js 文件, xxxx对应的js文件需要放在assets/default/raw/scripts目录下。
如:
./bin/awtkRun basic
./sync.sh
在非 bash 终端(如 Windows 平台的 cmd.exe),需要根据 sync.sh 的内容手工执行相应的命令。
本文以 Linux/MacOS 为例,Windows 可能会微妙差异,请酌情处理。
如果希望自己的应用程序,同时支持 AWTK-JS 和 AWTK-WEB,还需要注意下列事项:
-
避免直接调用 gc() 函数。
-
避免使用模态对话框。
-
避免使用动态 GIF 图片。
-
避免直接使用 value_t/color_t/bitmap_t/object_t 等类。
iotjs 用的 jerryscript 2.4, 而 awtk-jerryscript 用的jerryscrip 3.0。 编译 awtk-iotjs 版本需要 checkout jerryscript 2.4,再编译:
cd 3rd/jerryscript/jerryscript && git checkout 8ba0d1b6ee5a065a42f3b306771ad8e3c0d819bc && cd -
scons IOTJS=true