2011-06-22 10 views
10

Estoy teniendo una aplicación de escritorio que tiene una interfaz de interfaz de usuario hecha en Qt vinculada a una biblioteca que está haciendo todo el trabajo de cálculo. Los valores de la interfaz de usuario se toman y pasan a la API en la DLL para obtener el resultado que se muestra en la pantalla.Alojar una aplicación de escritorio de C++ en una página web

Ahora quiero hacer lo mismo transfiriendo la IU de mi aplicación a una página web para que las personas puedan acceder a la herramienta desde cualquier lugar sin ningún proceso de instalación.

Quiero conservar mi código DLL de C++ por lo que no tengo que trabajar mucho. Estoy pensando en convertir este archivo DLL a un servidor C++ por cualquier proceso de comunicación (Sockets). Quiero alojar esta aplicación en el sitio web de mi empresa. (También tenemos que crear el sitio web para que estemos abiertos a cualquier conjunto de herramientas).

Quiero saber cuál será el mejor conjunto de herramientas para hacer estas cosas. También habrá mucho intercambio de datos entre la página web y el servidor, por lo que todo debería optimizarse también. Miré un poco y encontré cosas como Silverlight y ASP.NET, pero todavía no estoy muy claro qué opción será más adecuada.

Soy un programador de C++ sin experiencia en el desarrollo de aplicaciones web. Estoy abierto a aprender cualquier nueva tecnología.

Gracias

+0

la posibilidad de organizar la aplicación en los servidores de la nube y la ampliación a cabo bajo demanda. Esto debería ser bastante barato; Puede combinarlo con Citrix/Terminal Server, como el acceso (FreeNX o VNC con XDM en Unix). Estoy seguro de que Azureus tendrá buenas ofertas – sehe

+0

Silverlight 5 podría ayudar, pero no sé si permiten P/Invoke en las bibliotecas empaquetadas en el XAP. De lo contrario, Silverlight no es la tecnología que estás buscando. – Denis

Respuesta

1

Por qué no usar Qt en la web directamente? Hay varios proyectos como este: http://qtwui.sourceforge.net/

+1

Parece bastante inmaduro. [Google gears] (http://gears.google.com) o [Pyjamas] (http: // pyjs.org) parecería mucho más adecuado para el trabajo; Es decir, si Flex/Silverlight es por alguna razón no aplicable – sehe

+0

@sehe Es solo una de varias, no las tengo marcadas, pero vi varias que parecían muy útiles. Además, la reescritura de una aplicación en un nuevo marco generalmente causará más problemas que un marco inmaduro. –

+0

que incluso se olvida que nada de esto fue la pregunta del OP :) – sehe

0

Hay un netscape plugin que alojará una aplicación QT y un ActiveX control wrapper en el sitio web QT. Puede usar uno de esos para envolver su solicitud. Tenga en cuenta que este enfoque requeriría que el usuario (o su administrador) descargue e instale el complemento.

Un enfoque alternativo podría ser ejecutar su aplicación a través de un escritorio remoto como XVNC, NX o una capa basada en RDP. Los clientes de escritorio remoto basados ​​en el navegador IIRC están disponibles para la mayoría de dichos protocolos.

0

algunas opciones:

No exponer la implementación en internet. Suficiente para tener un desbordamiento de búfer simple y la máquina puede tomarse rápidamente. Agregar una capa entre la aplicación y la web proporciona una manera fácil de validar entrada, acceso, estadísticas ...

0

Debería poder usar su DLL desde una aplicación wt o cppcms. Entonces no tienes que aprender algo nuevo y solo puedes usar C++.

+0

También revisé el peso ayer y lo encontré bastante bien. Voy a probar esto primero. – Maverick

0

La forma en que actualmente estoy haciendo esto es con Boost.Python + django

Cuestiones relacionadas