Re: Web UI для локальных приложений
От: vladrsdn http://vvh-ru.blogspot.com/
Дата: 24.07.20 10:30
Оценка:
Здравствуйте, 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 в винде можно отключить в конфиге, тогда будет работать и с системным браузером на винде.

Самая сложность при таком подходе — защита от копирования. Ведь кто угодно может выложить это на своем сервере и давать доступ к нему удаленно с почасовой тарификацией.
http://vvh-dev-ru.blogspot.com — Трудовые будни шароварщика http://vvh-ru.blogspot.com — Блог об оффлайне
Отредактировано 24.07.2020 10:35 vladrsdn . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.