Duktape 介绍

译文小编:Atypiape
初稿来自:ECMAScript,Duktape
创作日期:2016-08-12

Duktape 是一个轻量级的嵌入式 JavaScript 引擎,专注于可移植性和低占用率。

Duktape 可以被轻松地集成进一个 C/C++ 项目中:只需求将
duktape.c、duktape.h 和 duk_config.h 五个文本参与你的营造项目中,并动用
Duktape API 来落到实处 C 代码与 ECMAScript 函数的双向调用。

根本特征

  • 可放置、可移植、低占用:可以运转在 256kB 闪存(Flash)和 64kB
    系统内存(RAM)的阳台上;
  • 匹配 ECMAScript E5/E5.1 标准,并借鉴了 ECMAScript E6 的有些特性;
  • 支持 Khronos/ES6 的 TypedArray 对象和 Node.js 的 Buffer 对象;
  • 放到调试器;
  • 松手正则表达式引擎;
  • 内置 Unicode 支持;
  • 最小限度的平台依赖;
  • 结合了引用计数机制和 mark-and-sweep 垃圾回收机制;
  • 自定义特性,如协同程序(coroutines)、内置日志框架、内置基于 CommonJS
    的模块加载框架;
  • 属性(property)虚拟化中动用了 ECMAScript E6 Proxy 对象的一个子集;
  • 以字节码转储(dump)/加载的办法,来对已编译函数进行缓存;
  • 选取 MIT 自由许可协议。

代码和内存占用

_ x86 默认 x86 低端内存 x86 全低端内存
代码 170kB 150kB 200kB
启动内存 68kB 35kB 4kB

请参考 GCC
选项
中的最小化代码占用。全低端内存拔取使用了“指针压缩”和根据ROM 的字符串/对象。基于 ROM 的字符串/对象也得以用于别的非低端内存选项。

近年来景况

  • 稳定

技术协理

使用 Duktape 的项目

参见:使用 Duktape
的项目

倘使你在融洽的品类中应用了 Duktape,可以发送一封邮件或者开一个 GitHub
issue 来将项目加到列表中。

类似的发动机

有多个与 Duktape 定位类似的 JavaScript 引擎,至少有如下多少个:

也得以参考 ECMAScript
引擎列表