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

17 марта 2011 года

Александр Ларсон (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/. Из еще недоработанных возможностей отмечается недостаточно полная поддержка управления клавиатурным вводом.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «В состав GTK+ 3.2 будет включен HTML5-бэкенд, отображающий приложения через web-браузер», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.