GUI-proxy (конвертация desktop-приложения в web-приложение)

Рейтинг: 1Ответов: 2Опубликовано: 09.04.2011

Пытаюсь найти возможность трансформировать desktop-приложения в web-приложение. Например, на сервере открывается desktop-приложение (допустим, написанное на чистом Win32 API), из которого при помощи какого-то "GUI-proxy" создается HTML-страница, со всеми элементами управления, имеющимися в desktop-приложении. При взаимодействии с этими элементами управления web-приложение отсылает AJAX-запросы на сервер, где какой-то "GUI-proxy" передает информацию о действии desktop-приложению и в ответ шлет реакцию desktop-приложения на это действие.

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

Ответы

▲ 2

В идеале такая конвертация в полном объёме невозможна. Но есть один способ: сделать нечто вроде своего рода VNC: приложение работает на сервере.. оно рисует себя, а на клиент передаётся его изображение.. в браузере можно это изображение отобразить.. на клик мышью можно слать аяксом запрос на сервер, а там генерируется синтетический ивент-клик мышью по окну. А если приложение меняет свой внешний вид, то можно использовать Comet чтобы перерисовывать на клиенте образ приложения. Второй вариант использовать настоящий VNC и в браузере использовать VNC-клиент, например, на Java (уже есть готовые апплеты).

▲ 1

andruxa предложил интересный вариант решения, но я пойду дальше и предложу Вам написать свой аналог gdi32.dll, winuser.dll и положить в туже папку где и приложение. DLL в той же папки используются раньше чем системные(если не ошибаюсь), а в этих DLL реализуйте вывод в HTML/XUL и отдавайте пользователю по запросу. Вот только будет сложновато с GUI приложениями где скорость вывода больше и чаще чем запросы клиента - рискуете анимацию всю пропустить...