В состав GTK+ 3.2 будет включен HTML5-бэкенд, отображающий приложения через web-браузер
С технической стороны, каждое окно сопоставляется с элементом canvas и для обновления содержимого окна организуется передача потока команд через "multipart/x-mixed-replace"-запросы XMLHttpRequest, использующие gzip-сжатие для сокращения объема передаваемых данных. Содержимое окон передается клиенту в виде копий слоев (для скроллинга) и блоков, описывающих изменения между изображениями. Изображения отправляются в виде несжатых данных в PNG-формате. Пользовательский ввод перехватывается через DOM-события и затем транслируется на сервер через WebSocket API, позволяющий организовать двунаправленный обмен данными с сервером.
В перспективе web-бэкенд может быть использован для организации служб для удаленной работы с приложениями через web-браузер (например, можно сделать что-то похожее на утилиту screen, позволяющее получить доступ к своим программам из любого места) или даже для создания публичных web-сервисов, приложениями в которых выступают Gtk-программы (например, web-сервис редактирования изображений на базе Gimp).
Для использования нового бэкенда достаточно собрать Gtk+ с опциями "--enable-x11-backend" и "--enable-broadway-backend", после чего запустить приложение указав на использование бэкенда broadway, например, "GDK_BACKEND=broadway your-application". Для работы с программой в браузере нужно включить поддержку websockets (по умолчанию отключена в Firefox 4) и открыть страницу http://127.0.0.1:8080/. Из еще недоработанных возможностей отмечается недостаточно полная поддержка управления клавиатурным вводом.
Источник: http://www.opennet.ru/opennews/art.shtml?num=29951
|
0 | Tweet | Нравится |
|