views:

184

answers:

4

I have a few years experience programming c++ and a little less then that using Qt. I built a data mining software using Qt and I want to make it available online. Unfortunately, I know close to nothing about web programming. Firstly, how easy or hard is this to do and what is the best way to go about it?

Supposing I am looking to hire someone to make me a secure, long-term, extensible, website for an online software service, what skill set should I be looking for?

Edit:

I want to make my question a little more specific:

  1. How can I take a bunch of working c++ functions and port the code so I can run it server side on a website?
  2. Once this is done, would it be easy to make changes to the c++ code and have the algorithm automatically update on the site?
  3. What technologies would be involved? Are there any cloud computing platforms that would be good for something like this?
  4. @Niklaos-what does it mean to build a library and how does one do that?
+4  A: 

You might want to have a look at Wt[1]. Its a C++ web framework which is programmed more or less like a desktop GUI application. One of the use cases quoted is to bring legacy apps into the web.

[1] http://www.webtoolkit.eu

Frank Meerkötter
+1  A: 

The effort/skillset involved to perform the task depends on how your wrote your code. If it is in a self-contained library, and has a clean (re-entrant, thread safe) API, you could probably hire a web developer (html/php/asp etc) to write the UI interface to the library for a relatively small cost. The skills required would be dependant on the technologies you wanted to use. For Windows development I would suggest C#/ASP. The applicant would require knowledge of interfacing with native libraries from a managed language. This is assuming that you dont mind the costs of Windows deployment for your application.

On the otherhand, if the library is complex or needs to be re-written to support the extensibility you are looking for, asking here will not get you much.

BTW: here is a great article on Marshalling if you chose to implement using C#/ASP http://msdn.microsoft.com/en-us/magazine/cc164193.aspx

CDSO1
+1  A: 

First, DO NOT USE PHP :D

I used it for some projects (the last one with symphony framework) and i almost shoot my self !

If you are very familiar with C++, ASP .NET could be a good solution because if you like C++ you are going to love C#.

Any ways, I personally use Ruby on Rails for 6 months now and I LOVE IT. I won't write you a book here but the framework is pure gold ! The only problem is that Ruby is a very special language. You will probably be a bit lost a the beginning. But as every one you will learn to love it.

But that was only for the server side. Indeed, there 3 technologies you won't be able to avoid if you want to start to develop web applications. HTML, CSS and JavaScript are presents every where. This is why i'm thinking you should start by HTML and CSS then JavaScript (with jQuery).

When you've got some basics with these 3 technologies you should be able to choose the server side language.

But you've got to tell you one thing, it's not going to be easy !

PS : Ruby on Rails uses HAML and SASS. These 2 languages replaces HTML and CSS you should have a look at them quickly because they are awesome.

Niklaos
+1  A: 
  1. Port the functions to Java, easily done from C++, you can even find some tools to help - don't trust them implicitly but they could provide a boost.
  2. See longer answer below.
  3. Wrap them in a web application, and deploy them on Google App-Engine.
  4. Java version of a library would be a jar file.

If you really want to be able to update the algorithm implementation dynamically, then you could implement them in Groovy, and upload changes through a form on your webapp, either as files or as a big text block, need to consider version control.

crowne