В состав GTK+ 3.2 будет включен HTML5-бэкенд, отображающий приложения через web-браузер

18.04.2011 в WEB, Возможности Linux&Unix, Новости IT

Александр Ларсон (Alexander Larsson), активный разработчик GNOME и мантейнер таких проектов, как Nautilus, Gnome-vfs и Dia, сообщил о том, что GDK-бэкенд (GIMP Drawing Kit), позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера, включен в master-ветку GTK+, на основе которой будет сформирован релиз GTK+ 3.2. В настоящее время HTML5-бэкенд еще не доведен до полностью стабильного состояния, но уже достаточно функционален для того чтобы начать экспериментировать с ним, например, позволяет работать в окне браузера с большим числом GTK-приложений, включая Evince и Gedit. В настоящее время бэкенд корректно работает только в Firefox, но в будущем будет адаптирован для работы с любым браузером, в котором реализована поддержка web-сокетов и canvas.

С технической стороны, каждое окно сопоставляется с элементом 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

VN:F [1.9.22_1171]
Rating: 0.0/6 (0 votes cast)
FacebookTwitterGoogle+EmailPrint

1 ответ на В состав GTK+ 3.2 будет включен HTML5-бэкенд, отображающий приложения через web-браузер

  1. Интересная фича. Было бы здорово взглянуть на практике.

    Никто не слышал — QT в этом направлении не дигался?