Здравствуйте, wantus, Вы писали:
W>Кто-нибудь смотрел на вариант использования браузера для отрисовки UI полностью локального приложения?
W>В смысле, что UI доступен как web page через http://localhost:12345 и при этом обычного (GDI) UI нет в принципе.
W>На первый взгляд для приложений, которым UI нужен чисто для конфигурации и отображения статуса (а не для работы как, например, в CAD) — много плюсов.
W>Писать продвинутый гуй на html/css/js приятнее и быстрее, чем нативный.
W>Сильно упрощает портирование.
W>Бесплатно получается опция remote UI.
W>Народ в принципе уже привык к web apps, так что это не должно выглядеть странно.
W>У кого есть чего-то подобное?
Есть именно такое о чем ты говоришь —
http://stunnix.com/prod/aws/ — Stunnix Advanced Web Server. Это инструмент для создания и упаковки таких приложений в нечто, что выглядит как десктопное, на винде, макоси и линуксе. Можешь качнуть демо — оно показывает wordpress, joomla, phpbb2 работающие как нативные десктопные приложения, запущенные локально.
При запуске такого приложения выбирается свободный порт TCP для веб сервера, и для mysql (если требуется), на этих портах запускаются веб-сервер и mysql, потом пускается системный или специальный браузер. Когда нужно завершить приложение (или юзер закрывает последнее окно специального браузера) — веб-сервер и mysqld останавливаются.
Все это портабельное, то есть работает из любой папки, даже сетевой, без инсталляции.
Все продукты лежащие на
http://stunnix.com/ сделаны на этой технологии, например вот
http://stunnix.com/prod/jo/ — JavaScript obfuscator
Серверная часть обфускаторов написана на перле (но можно писать и на php и на питоне, да хоть на C).
На винде общаются между собой не через TCP а через named pipes. Потому что многие корпоративные файрволы БЛОКИРУЮТ прослушку на localhost (из-за чего сервер не может стартануть), а браузеру (не являющемуся системным) — коннектится на localhost. Просто потому, что разные идиоты пишут файрволы..
На макоси и линуксе пускается системный браузер. Для макоси и винды у них есть специальный файрфокс, в котором можно заменить иконку, название процесса, название в заголовке окна, убрать все меню — будет только веб-страница видна.
Их обфускаторы для винды тащат с собой модифицированный файрфокс (модифицирован чтобы http over named pipes мочь).
Серверная часть — модифицированный апач (модифицирован чтобы http over named pipes мочь).
Конечно режим использования http over named pipes в винде можно отключить в конфиге, тогда будет работать и с системным браузером на винде.
Самая сложность при таком подходе — защита от копирования. Ведь кто угодно может выложить это на своем сервере и давать доступ к нему удаленно с почасовой тарификацией.