16 李先静

尚未进行身份认证

Only those who attempt the absurd can achieve the impossible.

等级
博文 740
排名 90

集成 AWTK 到 iotjs

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

2019-06-10 17:20:08

为 iotjs 开发原生模块

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

2019-06-07 12:46:21

ZLG开源GUI引擎AWTK发布1.1版本

ZLG开源GUI引擎AWTK发布1.1版本一、介绍AWTK全称ToolkitAnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系统、WEB、各种小程序、手机和PC打造的通用GUI引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎。AWTK寓意有两个方面:ToolkitAnyWhere。ZLG物联网操作系统AWorks内置GUI。AWTK源...

2019-04-25 09:19:52

AWTK javascript绑定原理

AWTKjavascript绑定原理一、基本架构Javascript的绑定方法和lua的绑定方法有些不同,主要原因是javascript的引擎有很多种,比如嵌入式系统常用的jerryscript和PC上常用的V8。不同的引擎提供注册C/C++函数的能力不同,所以在绑定时我们只对引擎做一个最低能力的要求:提供注册全局函数的能力。我们把绑定的代码分两层:引擎相关的代码负责把awtk的函数...

2019-04-24 15:14:11

AWTK实现自定义软键盘的方法

有时需要把软键盘嵌入到窗口内部(比如计算器和密码输入等),这时可以使用自定义软键盘。一、编辑器设置input_type为"custom"(它会禁止内置的软键盘)。<editx="c"y="10"w="90%"h="30"focus="true"input_type="custom"text=""/>

2019-03-14 11:39:43

AWTK是如何保证代码质量的

AWTK是如何保证代码质量的这是不少朋友关心的问题,这里统一回复一下。我们在保证AWTK的代码质量方面,主要采用了下列措施:架构设计。软件架构对代码的质量有决定性的影响,但好的架构不是预先设计出来的,而是在应对各种需求和变化时,不断完善和优化出来的。常常见到,有人花十年时间打造一件绝世作品,也有人花几年时间让一套软件变成不可维护,这就是说明软件架构是在不断变化的,是变好还是变坏,则取决于...

2019-01-18 16:49:51

AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI

AWTK=ToolkitAnyWhereAWTK是吸取了FTK和CanTK的精华,重新开发的GUI,计划分以下几个阶段实施:第一阶段专注于嵌入式系统,到达并超越TouchGfx/EmbeddedWizard的功能。计划在2018/9底完成。第二阶段用AWTK本身开发界面编辑器(或组态软件IDE),从而验证AWTK支持PC软件开发的能力。计划在2018年底完成。第三阶段支持Mo...

2018-07-08 12:19:42

SDL + OpenGL使用笔记

SDL+OpenGL使用笔记LFTK是一个嵌入式GUI,为了开发方便,需要提供PC运行环境。我选择了SDL2+OpenGL+nanovg来实现底层的渲染,让LFTK可以运行在各个平台上。GLFW+OpenGL也是一个不错的选择,但是GLFW没有Android和iOS的移植,而且没有提供原生输入法的支持。LFTK虽然最初是为嵌入式系统而生,但也有一个小目标:可以用于开发嵌入式系统,也可以开发PC

2018-04-14 08:10:38

用Qemu运行/调试arm linux

用Qemu运行/调试armlinux用Qemu运行/调试armlinux,这事情干过好几次了,久了就忘记了,每次都要重新去查资料,浪费不少时间。这次把整个过程弄成个脚本,放到github上,需要是拿下来运行一下即可,方便自己也方便有需要的朋友。这里解释一下脚本的内容(运行系统Ubuntu16.04LTS):1.设置一些环境变量,可以根据自己需要修改。exportAR

2018-01-05 18:47:24

开源固件下载工具

开发板固件下载工具:开发板固件下载工具:https://github.com/ZHIYUAN-Electronics/zyDownloader主要特色:采用自描述的插件式设计,支持不同的下载方式,增加新的下载方式不需要修改界面。界面用JS开发,实现用C/C++开发。界面和实现完全分离,同时支持图形界面和命令行界面。

2017-02-05 20:29:39

Makefile/cmake/node-gyp中区分不同平台的方法

最近用QTK开发一个下载(下载到开发板)工具,同时用到了Makefile/cmake和node-gyp,而且都要针对不同平台做不同的处理。这里做个记录,以备以后有需要时查阅。

2017-01-08 18:08:21

node-bindings无法在Electron中使用的解决办法

node-bindings非常好用,但是在Electron中无法使用,我查了一下,是因为fileName以file://开头导致无法定位动态库的根目录。已经提交给作者了,可以临时修改一下node_modules/bindings/bindings.js。

2017-01-08 11:27:02

用C++扩展Electron(node-ffi版)

用C++扩展Electron(node-ffi版)Electron内置的node.js,理论上可以通过扩展node.js来扩展Electron。但是通常由于系统中存在的node.js与Electron内置的node.js的版本号不同,给node.js编译的扩展是无法在Electron中使用的,需要一些特殊处理才行。

2016-12-24 07:40:59

用C++扩展Electron(node-nan版)

用C++扩展Electron(node-nan版)Electron内置的node.js,理论上可以通过扩展node.js来扩展Electron。但是通常由于系统中存在的node.js与Electron内置的node.js的版本号不同,给node.js编译的扩展是无法在Electron中使用的,需要一些特殊处理才行。

2016-12-24 07:36:44

用C++扩展node.js(node-ffi版)

用C++扩展node.js(node-ffi版)

2016-12-24 07:28:13

用C++扩展node.js(node-nan版)

用C++扩展node.js(node-nan版)

2016-12-24 07:24:57

再谈面向对象的三大特性

面向对象的三大特性:封装、继承和多态。这是任何一本面向对象设计的书里都会介绍的,但鲜有讲清楚的,新手看了之后除了记住几个概念外,并没真正了解他们的意义。前几天在youtune上看了Bob大叔讲解的SOLID原则,其中有一段提到面向对象的三大特性,收获很多,但是我并不完全赞同他的观点,这里谈谈我的想法

2016-12-12 17:01:57

动态内存分配导致Javascript性能的问题

内存分配对性能的影响是很大的,分配内存本身需要时间,垃圾回收器回收内存也需要时间,所以应该尽量避免在堆里分配内存。不过直到最近优化HoLacantk时,我才深刻的体会到内存分配对性能的影响,其中有一个关于arguments的问题挺有意思,写在这里和大家分享一下。我要做的事情是用webgl实现canvas的2dAPI(这个话题本身也是挺有意思的,有空我们再讨论),drawImage是一个重要的函数

2016-06-05 16:10:55

gameui-for-phaser-js更新到最新版本

HolaCantk是一个功能强大的游戏引擎,它拥有丰富的GUI控件,配合HolaStudio可以快速开发出游戏的UI界面。Phaser是一个流行而且强大的游戏引擎,但是它的GUI控件很少,而且缺乏界面编辑器,导出开发游戏UI界面比较低效。gameui-for-phaser-js就是为了发挥两者的长处,让你可以用HolaStudioUI界面,用Phaser开发游戏,然后把两者无缝结合起来。集成到

2016-04-18 16:06:00

LocalStorage在Chrome里的实现

前段时间我们在实现CanTK-Runtime时,也曾在V8基础上模拟过浏览器的LocaleStorage功能,其实现非常简单:每个domain的数据使用的单独文件存储,因为同一时间只有一个游戏运行,所以文件操作只是放到了后台线程执行。但是Chrome里的实现就非常复杂了,它主要包括四部分

2015-10-03 18:05:58
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。