Duktape是一个嵌入式 Javascript 引擎,专注于可移植性和低空间占用。
Duktape 易于集成到 C/C++项目中:将 duktape.c, duktape.h ,和 duk_config.h 添加到您的构建项目中,并使用 Duktape API 实现 C 代码与 Ecmascript 函数的双向调用。
主要特性
- 可嵌入,可移植,低占用:可运行于只有 192kB 闪存空间(flash)以及 64kB 系统内存(RAM)的平台上
- 兼容 Ecmascript E5/E5.1 ,一些语义规范更新自 ES2015+
- 部分支持 Ecmascript 2015 (E6) 和 Ecmascript 2016 (E7),参见 Post-ES5 特性
- 支持 ES2015 TypedArray 和 Node.js Buffer 绑定
- 内置调试器
- 内置正则表达式引擎
- 内置 Unicode 支持
- 最小限度的平台依赖
- 整合了引用计数和标记-清除算法(mark-and-sweep)垃圾收集机制
- 协程支持
- 属性虚拟化中使用了 Ecmascript E6 Proxy 对象的一个子集
- 以字节码转储(dump)/加载的方式来缓存已编译的函数
- 发布版中包含一个日志框架和基于 CommonJS 的模块加载实现等
- 采用 MIT 的自由许可证
当前状态
Duktape 目前版本为 2.0.0 。
中文文档翻译
Duktape 中文文档正在翻译中,地址:http://lonewolf.me/duktape/。 目前主页介绍部分已翻译完成, API 翻译了一小部分,编程指南也翻译了一小部分,整个的内容比较多,只能慢慢翻译了。