Принять настольное приложение С++ на веб-странице

У меня есть настольное приложение, которое имеет интерфейс UI, сделанный в Qt, связанный с библиотекой, которая выполняет все вычисления. Значения из пользовательского интерфейса берутся и передаются API в DLL, чтобы получить вывод, который отображается на экране.

Теперь я хочу сделать то же самое, перенеся свой пользовательский интерфейс приложения на веб-страницу, чтобы люди могли получить доступ к инструменту из любого места без какого-либо процесса установки.

Я хочу сохранить свой С++ DLL-код, поэтому мне не нужно много работать. Я думаю о простое преобразование этой DLL на сервер С++ любым процессом обработки (Sockets). Я хочу разместить это приложение на своем веб-сайте. (Мы также должны сделать сайт таким образом, чтобы мы были открыты для любого набора инструментов).

Я хочу знать, какой будет лучший набор инструментов для этого. Также будет много обмена данными между веб-страницей и сервером, чтобы все было оптимизировано. Я немного поглядел и нашел вещи, такие как silverlight и ASP.NET. Но я все еще не очень понимаю, какой вариант будет более подходящим.

Я программист на С++ без опыта разработки веб-приложений. Я открыт для изучения любой новой технологии.

Спасибо

Ответ 1

Почему бы не использовать Qt прямо в Интернете? Существует несколько таких проектов: http://qtwui.sourceforge.net/

Ответ 2

Существует плагин netscape, на котором будет размещено приложение QT и ActiveX control wrapper на веб-сайте QT. Вы можете использовать один из них для упаковки вашего приложения. Обратите внимание: этот подход потребует от пользователя (или его администратора) загрузки и установки плагина.

Альтернативным подходом может быть запуск приложения через удаленный рабочий стол, такой как XVNC, NX или RDP-уровень. Для большинства таких протоколов доступны клиентские настольные клиенты на базе браузера IIRC.

Ответ 3

Несколько вариантов:

  • выберите реализацию обмена сообщениями/очередями (например http://www.zeromq.org/) и предоставите услугу
  • реализовать веб-службу Windows, если вы хотите быть более дружественным к предприятию: http://msdn.microsoft.com/en-us/magazine/ee335693.aspx

Я бы не выставил реализацию в Интернете. Достаточно иметь простой переполнение буфера, и машина может быть быстро принята. Добавление слоя между приложением и веб-сайтом обеспечивает простой способ проверки ввода, доступа, статистики...

Ответ 4

Вы должны иметь возможность использовать свою DLL из wt или cppcms. Тогда вам не нужно изучать что-то новое и просто использовать С++.

Ответ 5

То, как я сейчас это делаю, это Boost.Python + django