Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/10/2009, 10:36
Absalon
 
Fecha de Ingreso: julio-2008
Ubicación: Concepción
Mensajes: 47
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: integracion con javascript

bueno, aunque nadie respondio ya encontre la solucion. espero que a alguien le sirva ya que es muy utili tener soporte para scripting en una aplicacion porque permite agregar funcionalidad sin tener que volver a construir la aplicacion, ademas de que se pueden integrar soluciones de terceros. ademas, a veces es mas facil que una comunidad cree extensiones en un lenguaje como javascript que es muy facil de aprender, creo.

bueno, una de las soluciones que encontre es el modulo QScript de la libreria Qt. Es muy simple:

1.- se crea una instancia de la clase QScriptEngine que es la que sirve de proxy al engine javascript.

2.- luego, se crea una instancia de la clase QScriptValue, que es el tipo de objetos que manipula el engine. Se pasa al engine el objeto que queramos exponer a la interface de Javascript y este hara algo como un reinterpret_cast para convertirlo.

3.- luego que tenemos un objeto manejable por el engine lo pasamos al objeto global del engine. Y listo, ya tenemos todo el objeto creado al acceso de los scripts que carguemos.
estos se pueden cargar y evaluar con la funcion "evaluate" del objeto QScriptEngine.

La otra solucion es utilizar SpiderMonkey, el engine que usa Firefox. Aqui al no haber una clase que realice una abstraccion del engine es mas complicado, pero la documentacion da buenos ejemplos. Aqui dejo los links de la info:

Modulo QScript de Qt
Guia de la api de SpiderMonkey

ah, y esta el engine V8 de Google, que se supone es "algo" mas rapido, pero la verdad no se si sera verdad. Google lo ofrece para descarga directa y tiene una guia de implementacion.

Eso seria todo.