ScriptX —— 脚本引擎抽象层
ScriptX 是一个脚本引擎抽象层,对下封装多种脚本引擎,对上暴露统一的 API,使得上层调用者可以完全隔离底层的引擎实现。 ScriptX 不仅隔离了几种 JavaScript 引擎,甚至可以隔离不同脚本语言,使得上层在无需改变代码的前提下无缝切换脚本引擎和脚本语言。 特性: 支持多种引擎,多脚本语言 ScriptX设计之初就目标为支持多种脚本语言,并在JavaScript上实现了V8和JavaScriptCore的引擎封装。后续为了验证ScriptX的多语言设计,实现了完整的Lua绑定。目前针对WebAssembly的支持也已经完成。 现代的C++ API API设计上符合现代 C++ 风格,如: 三种引用类型Local/Global/Weak,使用copy, move语义实现自动的内存管理(自动引用计数) 使用variadic template 支持非常方便的 Function::call 语法 使用Template Meta-Programing 实现直接绑定C++函数 现代语言特性,引用空指针安全(nullibility safety 请参考kotlin的概念)。 注:Sc...


