AWTK-IOTJS 物联网 GUI 开发套件

程序名称:AWTK-IOTJS

授权协议: LGPL

操作系统: Linux

开发语言: C/C++

AWTK-IOTJS 介绍

一、介绍

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

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

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

二、编译

准备工作:

目前我不知道如何在 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 没编译过。

六、内部实现文档

AWTK-IOTJS 官网

https://gitee.com/zlgopen/awtk-iotjs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


OpenFunix 是由我从零开始写的一个内核项目。 OpenFunix 是一个全新的操作系统内核。
女娲内核,用中文版C"习语言"写的简单操作系统内核,代码实现全中文书写..
Linux-Insides 是一系列 Linux 内核的展示。它通过分享 Linux 内核的内部知识来增加人们对 Linux 内核或者其他低级别主题的兴趣。
Alibaba Kernel起源于亚洲最大的电子商务网站——阿里巴巴。它基于 RHEL6 源代码,包含了阿里巴巴所需的一些更新和新功能。更多的信息和文档,请参阅http://kernel.taobao.org
Genode操作系統框架擴展現有的內核(如微內核或程序) ,並提供一個統一的API應用程序。目前, L4/Fiasco和Linux的支持。
TencentOS Kernel 是腾讯针对云的场景研发的服务器操作系统。 TencentOS Kernel(又名 Tencent Linux,简称 Tlinux)是腾讯针对云的场景研发的 Linux
Bickley是一个元数据管理API和框架,由三个主要部分组成: l Libkozo —— Kozo是围绕TDB库的数据库抽象。
Oracle Linux: Unbreakable Enterprise Kernel (UEK),顾名思义,是 Oracle Linux 企业发行版的内核源码。
Fiwix is an operating system kernel based on the Unix architecture and fully focused on being Linux compatible. It is designed exclusively for educational
cgroups(控制组)是Linux内核的一个功能,用来限制报告和分离一个进程组的资源(CPU、内存、磁盘输入输出等)。这个工作是由Google的工程师(主要是Paul
Win2-7 Pack 是一个用于将 GNOME 桌面变身成 Windows 7 的 all-in-one 转换包,其中包括 Windows 7
VWM 是一个可扩展的在控制台下实现的窗口管理器。
这是 Windows 上的 KDE 桌面环境的移植版本哦。
Really Slick ScreenSavers GLX Port 是一些最初为Windows到GLX编写的极好的OpenGL 屏幕保护程序的一部分。它意在和一个现在的屏幕保护后台程序(如xscreensaver)一起使用。
Paper Pilots 是一款 Linux 下的 3D 屏幕保护程序 (非开源) ,可以定制超过 20 中不同的屏幕配置。
Docky是从GNOME Do项目剥离出来的一个Dock软件,最初即为GNOME Do的“Docky”模式。
AfterStep是一个Unix或Linux下的X窗口管理器工具,AfterStep使得Linux的外观很象NeXTSTEP,而且还有些增强功能。如果你是使用X11或者fvwm的话,不妨用AfterSetup来对您的桌面进行设置。
通过KDEWin,我们可以在Windows上体验 KDE的GUI及专门为Windows编译的KDE应用程序.自由软件团队KDE 的产品中包括用于 Linux
GNOME Do 与 Katapult 和 GNOME Launch Box 很相似,它能根据用户键入的内容进行自动匹配,从而快速打开系统中已有的程序、文件、书签等。不仅如此,GNOME Do 还包括插件,从而能够做更多事。
Really Slick Screensavers 是透過 OpenGL 3D 技術所設計的 十一個螢幕保護程式 ,以現今大家的電腦硬體配備來說,基本上都有支援 OpenGL