内容简介:AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。
一、介绍
-
- 关于 iotjs
iotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存需求,iotjs 都要小很多,是用 javascript 开发 iot 设备应用程序的首选。
-
- 关于 AWTK
AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。
awtk-iotjs 将 awtk 和 iotjs 有机结合起来,用 javascript 打通 GUI、网络和硬件,完全采用 javascript 开发物联网应用程序。
二、编译
- 下载编译 iotjs
git clone https://github.com/pando-project/iotjs.git cd iotjs ./tools/build.py cd -
- 下载编译 awtk
git clone https://github.com/zlgopen/awtk.git cd awtk scons cd -
- 下载编译 awtk-js
git clone https://github.com/zlgopen/awtk-js.git cd awtk-js git clone https://github.com/jerryscript-project/jerryscript.git 3rd/jerryscript scons cd -
- 下载编译 awtk-iotjs
准备工作:
目前我不知道如何在 module.json 中指定编译参数,所以只好修改 iotjs/CMakeLists.txt 了。请在倒数第二行增加下面这行代码。
include(../awtk-iotjs/awtk-module/awtk.cmake)
下载编译:
git clone https://github.com/zlgopen/awtk-iotjs.git cd awtk-iotjs ./build.sh
请确认以上项目均在同一个目录。
三、运行 DEMO
./run.sh demos/buttons.js
四、开发
在开发时可以使用:
- iotjs 提供的模块。
- awtk-js 提供的 GUI 控件。
- 其它第三方模块。
与 awtk-js 主要差异是需要加载并初始化 awtk:
require('awtk').init(320, 480);
完整示例:
require('awtk').init(320, 480);
function applicationInit() {
var win = TWindow.create(null, 0, 0, 0, 0);
var ok = TButton.create(win, 0, 0, 0, 0);
ok.setText("ok");
ok.setSelfLayoutParams("center", "middle", "50%", "30");
ok.on(TEventType.CLICK, function(evt) {
var e = TPointerEvent.cast(evt);
console.log("on click: " + e.x + " " + e.y);
return TRet.OK;
});
win.layout();
}
applicationInit()
五、已知问题
- 只支持 Linux 系统 (Ubuntu >= 16)。
- 未 awtk-linux-fb 上验证,可能修改一下脚本。
理论上 Windows 平台也是可以的,但是 iotjs 没编译过。
六、内部实现文档
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
轻量级Django
茱莉亚·埃尔曼 (Julia Elman)、马克·拉温 (Mark Lavin) / 侯荣涛、吴磊 / 中国电力出版社; 第1版 / 2016-11-1 / 35.6
自Django 创建以来,各种各样的开源社区已经构建了很多Web 框架,比如JavaScript 社区创建的Angular.js 、Ember.js 和Backbone.js 之类面向前端的Web 框架,它们是现代Web 开发中的先驱。Django 从哪里入手来适应这些框架呢?我们如何将客户端MVC 框架整合成为当前的Django 基础架构? 本书讲述如何利用Django 强大的“自支持”功......一起来看看 《轻量级Django》 这本书的介绍吧!