2009-05-21 29 views
7

Tengo una aplicación de escritorio C++ (escrita en wxWidgets) y deseo agregar compatibilidad con algunos lenguajes de scripting.SpiderMonkey vs JavaScriptCore vs.

El scripting se usaría principalmente para las conversiones en tiempo de ejecución de cadenas, números y fechas por código JavaScript proporcionado por el usuario.

Me gustaría usar JavaScript porque es ampliamente utilizado y todos están familiarizados con la sintaxis.

googlear alrededor, parece que tengo dos opciones:

  • SpiderMonkey de Mozilla
  • JavaScriptCore de WebKit

Alguien ha probado esos? ¿Cuál sería más fácil de configurar? ¿Conoces alguna otra implementación que sea mejor para mis necesidades?

BTW, apunto a plataformas Windows y Linux.

Respuesta

3

JavaScriptCore tiene una API C estable (y ABI), y ha estado disponible (y se usa como) un marco de sistema estándar en macos.

[editar: ah, y funciona en Linux y Windows como una biblioteca independiente, aunque creo que sólo se debian distribuye como tal]

6

Por supuesto, también se puede utilizar Lua, que no sólo está diseñado específicamente para esto, es mucho más rápido que cualquier JS.

Además, es ha semántica bien diseñados, un núcleo muy mínima, C API sencilla, una gran portabilidad, una muy maduro JIT, la comunidad en línea más útiles que he visto, etc ...

+0

Considero Lua, pero me gustaría guardar los usuarios de mi aplicación de aprender un nuevo idioma. El otro problema potencial es la falta de funciones para lidiar con la fecha/hora. AFAICT, solo puedes obtener la hora del sistema, y ​​eso es todo. Sin embargo, mi aplicación necesita poder analizar la entrada de cadena como fecha, y luego hacer cosas como "agregar 3 días" o "encontrar la diferencia en días entre 2 fechas", etc. –

+2

independientemente del idioma que incruste en su aplicación, tiene para exponer alguna API especial. agregando algunas capacidades de administración de fechas se puede hacer en menos de 100 líneas de Lua. El 'no nuevo idioma' es un problema real, OTOH. – Javier

+3

"mucho más rápido que cualquier js"? [citación necesitada]! Enlace por favor. –

Cuestiones relacionadas