tags:

views:

409

answers:

5

Hi, Our company has a set of 3d modeling softwares written in c++ with qt based gui. We are planning to offer these applications to customers to try them from a web browser. I mean to say, we need to create web interfaces for native c++ codes. Please suggest me which technology, languages should be used. If possible please give some links to some white papers or case studies for this kind of projects. I am totally clue less :)

+1  A: 

Take a look at Native Client.

barism
+4  A: 

Ideally you would keep your c++ code on the server and use a mixture of HTML and Javascript on the browser. However since 3d modeling is so client centric you may have to run some c++ code directly in the browser.

There are a few options to look at:

You could also run a few instances of your application on your server inside an XVnc session and let people use it through a VNC viewer applet. The simplest solution however is still to offer a downloadable demo of your application.

Alexandre Jasmin
Or instead of duplicating code for NPAPI and ActiveX, using something like the Firebreath plugin framework: https://code.google.com/p/firebreath/
Georg Fritzsche
Have a look at the following blog post for an example of a Qt application running in a webbrowser using Google Native Client: http://labs.trolltech.com/blogs/2009/12/17/take-it-with-a-grain-of-salt/
Ton van den Heuvel
+3  A: 

Have a look at Wt

TimW
Especially when you have a Qt background, you'll quickly find your way in Wt.
+1  A: 

Soon you might be use WebGL to do 3D in the browser. But how long it will take for browsers to include it I do not know. But it might be good to look at it to not rule out using it in the future.

jpyllman
A: 

If creating everything again is too expensive, always you can create a distributed application:

  • One program running the main application in C++ and generating (for example) XML files.

  • A web application reading the XML files generated by the C++ application and translating them into the web application language (for example Adobe Flex).

Good luck!

Drewen