易于嵌入javascript

def*_*ode 11 javascript c++ scripting lua

我正在研究脚本语言嵌入到应用程序中.

我一直认为Lua是最好的选择,但我已经阅读了一些关于嵌入V8的新闻,并且正在考虑使用它.

我的问题有两个:

有嵌入v8(或任何javascript引擎)经验的人是否推荐它?

它与嵌入Lua相比如何?

我喜欢v8有一个c ++嵌入API.然而,Lua API有很多时间需要改进(较新的并不总是更好,所有这些).

注意:我不关心哪种语言/库更好或者性能更好.我只是询问嵌入的简易性.

Mik*_*ola 17

V8是刚刚.我曾尝试将它用作视频游戏的脚本解释器,结果好坏参半.一方面,它非常快,API很简单; 但另一方面,它并没有真正很好地封装解释器的状态.因为代码库充满了全局变量,如果你需要在应用程序中间重置v8,或者从多个线程并行运行它,你基本上就不好运了.从Chrome的每个虚拟机一个进程模型的角度来看,这些设计决策是可以理解的,但是将它集成到可能希望同时运行多个虚拟机的游戏(例如游戏服务器后端)中有点尴尬),或者有一些方法可以快速序列化/重置整个解释器的状态.

出于这些原因,我实际上建议你尝试给Lua第二次机会.作为一种语言,它往往更适合游戏编程任务,而且它有一些漂亮的功能,使游戏脚本更方便(例如,协同程序).