2011-08-27 15 views
5

Si hay alguna herramienta para ejecutar la aplicación C++ escrita en QT en el navegador web estándar? La aplicación C++ debe ejecutarse desde la página web, hacer algunas operaciones matemáticas y devolver el resultado a la página web nuevamente.¿Cómo ejecutar la aplicación C++ en la página web?

+1

¿Desea incrustar el código de C++ dentro de JavaScript (utilizando un compilador de C++ a JavaScript como [Emscripten] (http://stackoverflow.com/a/14900915/975097)), o desea utilizar un complemento del navegador en su lugar? –

Respuesta

-3

Quizás podría incrustar el código en un control ActiveX.

+0

ActiveX no es una herramienta multiplataforma. Es sensible en mi caso. – lexl

+2

Después de leer todos los demás comentarios, parece que quiere una plataforma de corss y una solución de navegador cruzado. Entonces, la única opción es traducir el código C++ a Javascript. Si su código hace algo de matemática, debería ser posible traducirlo a Javascript. –

+0

El problema es que mi aplicación es sensible al tiempo de ejecución. Es un procesador de video en tiempo real con mucha matemática y usa ampliamente las librerías de C++ de terceros. Es imposible transferir mi aplicación al marco de Javascript para hacer eso. Pero gracias más. – lexl

2

No puede. Puede escribir el lado del servidor en una aplicación web en C++, por supuesto, pero el marco de la GUI de Qt es solo para aplicaciones que muestran su interfaz de usuario en la máquina en la que se están ejecutando. (Con las advertencias habituales en el caso de las conexiones remotas X11, etc., pero eso no lo ayudará con una aplicación web).

+0

¿Es posible hacer matemática en la aplicación C++ y mostrar la parte de visualización en el navegador web a través de JavaFX o algo así? – lexl

+0

Sin duda puede hacer cálculos en C++ en el lado del servidor y mostrar los resultados a través de una interfaz web. Incluso puede usar las partes que no son de la GUI de Qt para estructurar su aplicación C++ de su deseo, pero no puede usar la GUI de Qt para la interacción del usuario. No tengo muy claro qué es lo que JavaFX te compraría; una interfaz de usuario común basada en JavaScript (donde se generan gráficos y tal en el servidor y transferirlos como PNG) sería igual de sencillo. –

+0

En mi caso, es importante colocar el código computacional escrito en C++ en el lado del cliente y su aplicación debe comportarse como el cliente inteligente i. e .: ofrece aplicaciones a través de una conexión HTTP web no requiere instalación (o proporciona instalación automática) se actualiza automáticamente sin intervención del usuario tiene la apariencia de las aplicaciones de escritorio Ahora hay varias plataformas para compilar tales aplicaciones: Adobe Flash , JavaFX y Silverlight.JavaFX solo es adecuado para mi propósito, pero no sé si es posible agruparlo con código computacional C++. – lexl

8

Echa un vistazo NaCl (Native Client). No Qt, pero puedes usar C++.

+4

De hecho, esto es: http://labs.qt.nokia.com/2010/06/25/qt-for-google-native-client-preview/ pero no sé qué tan maduro es. –

+0

Enlaces de interés (+1). ¿Es realmente utilizable? – Jiri

+0

Si bien Chrome tiene esta funcionalidad y un programador avanzado podría beneficiarse de ella ... No sé si esta respuesta ayuda al OP. –

1

He leído acerca de una aplicación de ejemplo como esta. Creo que puede buscar este término "Qt WebKit Hybrid application". En ese ejemplo, la interfaz de usuario está escrita en HTML y Javascript y el back-end en C++. Incluso, las propiedades de objetos C++ se pueden transferir a Javascript. No estoy seguro de estar en lo cierto, pero estoy parcialmente en lo correcto.

EDITAR: Aquí está el enlace. https://developer.qt.nokia.com/wiki/Server-Driven_UI_with_Hybrid_QtWebkit

+0

Gracias por su respuesta. El uso de Qt WebKit es una solución bastante inversa porque permite que el contenido web se integre con C++ y se ejecute en el marco de Qt. Pero quería ejecutar código C++ sobre la página web. Qt WebKit no es lo que esperaba pero descanse mi mirada en esta herramienta como un compromiso. – lexl

1

Es posible compilar el código C++ en JavaScript usando Emscripten, y luego llamar a las funciones compiladas de C++ desde JavaScript, as explained here. Esto le permitirá ejecutar código C++ en un navegador web u otro entorno JavaScript, sin ningún complemento adicional.

Cuestiones relacionadas