Duktape Introduction
Translation Author: Atypiape
Original from: Duktape
Writing Date: 2016-08-12
Duktape is a lightweight embedded JavaScript engine, focused on portability and low occupancy rates.
Duktape can be easily integrated into a C / C ++ project: only need to duktape.c, duktape.h and duk_config.h three files on your building project, and use Duktape API C code to implement the ECMAScript function two-way call.
Key Features
- It may be embedded, portable, low occupancy: 256kB can run on flash (Flash) and 64kB system memory (RAM) of the platform;
- Compatible with ECMAScript E5 / E5.1 standard, and learn some of the features of ECMAScript E6;
- Support TypedArray objects Khronos / ES6 and Node.js of Buffer objects;
- Built-in debugger;
- Built-in regular expression engine;
- Built-in Unicode support;
- Platform-dependent minimum;
- The integration of the reference-counting mechanism and the mark-and-sweep garbage collection mechanism;
- Custom properties, such as cooperative program (coroutines), built logging framework built of module loading frame based CommonJS;
- Property (Property) virtualization using a subset of ECMAScript E6 Proxy object;
- Transfer byte code (the dump) info / loaded to cache the compiled function;
- Free use of MIT license.
Code and memory footprint
_ | x86 default | x86 low memory | Full x86 low memory |
---|---|---|---|
Code | 170kB | 150kB | 200kB |
Start memory | 68kB | 35kB | 4kB |
Refer to the GCC options to minimize the footprint of the code. Full low memory option uses a "pointer compression" and ROM-based string / object. ROM-based string / objects can also be used for other non-low-end memory options.
Current state
- stable
Technical Support
- Duktape Wiki: wiki.duktape.org
- User community Q & A: Overflow on Stack duktape label
- Bugs and feature requests: GitHub AND DELINQUENCY
- 综合讨论区: chat.freenode.net ( WebChat IRC channel #duktape on)
Use Duktape project
See also: Use Duktape project
If you use in your own projects in the Duktape, you can send an email or open a GitHub issue to be added to the project list.
Similar engine
And positioning a plurality of similar Duktape JavaScript engine, at least the following several:
- Espruino (MPL v2.0)
- JerryScript (Apache License v2.0)
- MuJS (Affero GPL)
- quad-wheel (MIT License)
- tiny-js (MIT license)
- v7 (GPL v2.0)
See also ECMAScript engine list .
Translation Author: Atypiape
Original from: Duktape
Writing Date: 2016-08-12
Duktape is a lightweight embedded JavaScript engine, focused on portability and low occupancy rates.
Duktape can be easily integrated into a C / C ++ project: only need to duktape.c, duktape.h and duk_config.h three files on your building project, and use Duktape API C code to implement the ECMAScript function two-way call.
Key Features
- It may be embedded, portable, low occupancy: 256kB can run on flash (Flash) and 64kB system memory (RAM) of the platform;
- Compatible with ECMAScript E5 / E5.1 standard, and learn some of the features of ECMAScript E6;
- Support TypedArray objects Khronos / ES6 and Node.js of Buffer objects;
- Built-in debugger;
- Built-in regular expression engine;
- Built-in Unicode support;
- Platform-dependent minimum;
- The integration of the reference-counting mechanism and the mark-and-sweep garbage collection mechanism;
- Custom properties, such as cooperative program (coroutines), built logging framework built of module loading frame based CommonJS;
- Property (Property) virtualization using a subset of ECMAScript E6 Proxy object;
- Transfer byte code (the dump) info / loaded to cache the compiled function;
- Free use of MIT license.
Code and memory footprint
_ | x86 default | x86 low memory | Full x86 low memory |
---|---|---|---|
Code | 170kB | 150kB | 200kB |
Start memory | 68kB | 35kB | 4kB |
Refer to the GCC options to minimize the footprint of the code. Full low memory option uses a "pointer compression" and ROM-based string / object. ROM-based string / objects can also be used for other non-low-end memory options.
Current state
- stable
Technical Support
- Duktape Wiki: wiki.duktape.org
- User community Q & A: Overflow on Stack duktape label
- Bugs and feature requests: GitHub AND DELINQUENCY
- 综合讨论区: chat.freenode.net ( WebChat IRC channel #duktape on)
Use Duktape project
See also: Use Duktape project
If you use in your own projects in the Duktape, you can send an email or open a GitHub issue to be added to the project list.
Similar engine
And positioning a plurality of similar Duktape JavaScript engine, at least the following several:
- Espruino (MPL v2.0)
- JerryScript (Apache License v2.0)
- MuJS (Affero GPL)
- quad-wheel (MIT License)
- tiny-js (MIT license)
- v7 (GPL v2.0)
See also ECMAScript engine list .