物联网 GUI 开发套件 AWTK-IOTJS

LGPL
C/C++ 查看源码»
Linux
2019-06-11
lixianjing

一、介绍

iotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存需求,iotjs 都要小很多,是用 javascript 开发 iot 设备应用程序的首选。

AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。

awtk-iotjs 将 awtk 和 iotjs 有机结合起来,用 javascript 打通 GUI、网络和硬件,完全采用 javascript 开发物联网应用程序。

运行效果截图:

CleanAir-Demo

Meter-Demo

Chart-Demo

MusicPlayer-Demo

二、编译

  • 下载编译 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 没编译过。

六、内部实现文档

的码云指数为
超过 的项目
加载中

评论(2)

ancientry
ancientry
您好,这个是用js写应用吗??有点不明白
lixianjing
lixianjing 软件作者
是的。

物联网 GUI 开发套件 AWTK-IOTJS 发布

一、介绍 awtk-iotjs 将 awtk 和 iotjs 有机结合起来,用 javascript 打通 GUI、网络和硬件,完全采用 javascript 开发物联网应用程序。 关于 iotjs iotjs 是三星开源的 javascript 物联网开...

2019/06/10 17:13

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

为 iotjs 开发原生模块

为 iotjs 开发原生模块 iotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是...

2019/06/07 12:47
20
0
集成 AWTK 到 iotjs

集成 AWTK 到 iotjs iotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存...

2019/06/10 17:15
64
0
AWTK是如何保证代码质量的

AWTK是ZLG开源的GUI引擎,不少朋友关心AWTK是如何保证代码质量的,这里统一回复一下。我们在保证AWTK的代码质量方面,主要采用了下列措施: 架构设计。 软件架构对代码的质量有决定性的影响,...

2019/01/18 16:57
121
2
AWTK 在腾讯 TOS 上的移植笔记

AWTK 在腾讯 TOS 上的移植笔记 本文以 STM32f103ze 为例,介绍了 AWTK 在 RTOS 上移植的经验。与其说移植,倒不如说是集成。因为 RTOS 通常没有提供标准的 LCD 驱动接口,显示部分并不需要特...

2019/11/09 08:52
81
0
AWTK WEB版移植笔记-序

AWTK WEB版移植笔记-序 一、WEB版本对AWTK意义 AWTK-WEB版本对AWTK是很重要的,主要原因有: 让用C语言开发的AWTK应用程序,在不需要修改源码的情况下,能在浏览器中运行。这样做的好主要在于...

2019/07/10 10:58
95
0
AWTK WEB版移植笔记-基础

AWTK WEB版移植笔记-基础 将一个C语言写的hello world编译成web版本是很简单的,网上有大量这样的例子。写这样的例子是必要的,让我们能够快速入门,但是实际项目则要复杂的多,这里会介绍一...

2019/09/12 07:16
58
0
AWTK 编译与调试 环境搭建指南

AWTK 编译与调试 环境搭建指南.md AWTK 编译与调试 环境搭建指南.pdf

01/09 15:39
75
0
AWTK 在 RT-Thread 上的移植笔记

AWTK 在 RT-Thread 上的移植笔记 本文以 STM32f103ze 为例,介绍了 AWTK 在 RTOS 上移植的经验。与其说移植,倒不如说是集成。所做的事情不过是把 AWTK 放到 RTOS 的一个线程中执行而已。 1....

2019/11/09 08:35
193
0
UI 界面框架

awtk lcui MiniGUI 跨操作系统的图形用户界面(GUI)支持系统 ImGUI 是用 C/C++ 语言实现的即时渲染 UI Fyne 是一个 Go 语言开发的易用的 UI工具包...

2019/02/20 17:16
346
0
AWTK 控件焦点相关问题

控件焦点相关问题 一、启用焦点停留 (tab stop) 除了 edit 控件外,其它控件如果需要焦点停留功能,可以指定控件的 focusable 属性为 true 来实现。 在 XML 中,可以这样指定: <button ... ...

2019/11/20 15:53
37
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部