10

I am having a desktop application which having a UI interface made in Qt linked with a library which is doing all the calculation stuff. Values from UI is taken and pass to the API's in the DLL to get the output which is shown on Screen.

Now i want to do the same thing by transferring my application UI to a web page so that people can access the tool from anywhere without any installation process.

I want to retain my c++ DLL code so i don't have to do a lot of work. I am thinking of just converting this DLL to a C++ server by any communication Process(Sockets). I want to host this application on my company's website. (We have to make the website also so we are open to any set of tools).

I want to know what will be the best set of tools to do this stuff. Also there will be lot of data exchange between the webpage and server so the wholething should be optimized also. I goggled a bit and find stuff like silverlight and ASP.NET, But i am still not very clear which option will be more suitable.

I am a c++ programmer with no web application development experience. I am open to learn any new technology.

Thanks

Alex K.
  • 171,639
  • 30
  • 264
  • 288
Maverick
  • 111
  • 5
  • consider hosting the application on cloud servers and scaling out on demand. This should be rather cheap; You can combine it with Citrix/Terminal server like access (FreeNX or VNC with XDM on unix). I'm confident that Azureus will have good offerings – sehe Jun 22 '11 at 11:40
  • Silverlight 5 could potentially help, but I don't know if they allow P/Invoke on libraries packaged in the XAP. Otherwise Silverlight is not the technology you are looking for. – Denis Jun 22 '11 at 18:53

5 Answers5

1

Why not use Qt on the web directly? There are several projects like this one: http://qtwui.sourceforge.net/

Šimon Tóth
  • 35,456
  • 20
  • 106
  • 151
  • 1
    That looks quite immature. [Google gears](http://gears.google.com) or [Pyjamas](http://pyjs.org) would seem much more up to the job; That is, if Flex/Silverlight are for some reason not applicable – sehe Jun 22 '11 at 11:37
  • @sehe It's just one of several, I don't have them bookmarked, but I saw several that looked very usable. Plus rewriting an application in a new framework will usually cause more problems that an immature framework. – Šimon Tóth Jun 22 '11 at 11:38
  • that's even forgetting that none of this was the OP's question :) – sehe Jun 22 '11 at 11:41
  • qtwui looks fine but is having very less features ( only a few widgets, support for external webservers like apache and IIS). I don't have problem with recreating the UI( html pages) in any tool. My main concern is to reuse my library as it is having a lot of code and rewriting it in any othe language might take a lot of time and effort. – Maverick Jun 24 '11 at 08:30
  • @Maverick Well, in such case, just go for fastcgi. – Šimon Tóth Jun 24 '11 at 09:08
0

There is a netscape plugin that will host a QT application and an ActiveX control wrapper on the QT website. You could use one of those to wrap your application. Note that this approach would require the user (or their administrator) to download and install the plugin.

An alternative approach might be to run your application through a remote desktop such as XVNC, NX or an RDP based layer. IIRC browser based remote desktop clients are available for most such protocols.

ConcernedOfTunbridgeWells
  • 64,444
  • 15
  • 143
  • 197
0

A few options:

I would not expose the implementation on the internet. Enough to have a simple buffer overflow and the machine can be taken over quickly. Adding a layer between the app and the web provides an easy way to validate input, access, stats ...

teki
  • 2,032
  • 1
  • 12
  • 6
0

You should be able to use your DLL from an wt or cppcms application. Then you do not have to learn something new and can just use C++.

rve
  • 5,897
  • 3
  • 40
  • 64
0

The way I'm currently doing this is with Boost.Python + django

totowtwo
  • 2,101
  • 1
  • 14
  • 21