В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольких процессов-обработчиков
Александр Ларсон (Alexander Larsson), активный разработчик GNOME и мантейнер таких проектов, как Nautilus, Gnome-vfs и Dia, объявил о внесении порции улучшений в GDK-бэкенд Broadway, позволяющий отрисовывать вывод библиотеки GTK3+ в окне web-браузера. Работа бэкенда переработана для обработки соединений с использованием отдельного процесса broadwayd, который по аналогии с X-сервером берёт на себя обработку всех задач по взаимодействию с клиентскими приложениями, работа с которыми организована через браузер. Для обработки запросов через HTTP в состав broadwayd включена реализация http-сервера, а также обеспечена возможность запуска дополнительных процессов broadwayd, которые выполняют функции сходные с раздельными X-сессиями при доступе через Web. Таким образом, пользователь теперь может легко запустить broadwayd и реализовать такие схемы как работа в одном окне браузера одновременно с несколькими Gtk-приложениями или открытие нескольких браузерных сессиий.Напомним, что HTML5-бэкенд к GTK3+ позволяет запустить Gtk-приложение на одной машине, после чего получить доступ к интерфейсу данной программы с другой машины через web-браузер. С технической стороны, каждое окно сопоставляется с элементом canvas и для обновления содержимого окна организуется передача потока команд через "multipart/x-mixed-replace"-запросы XMLHttpRequest, использующие gzip-сжатие для сокращения объема передаваемых данных. Содержимое окон передается клиенту в виде копий слоев (для скроллинга) и блоков, описывающих изменения между изображениями. Изображения отправляются в виде несжатых данных в PNG-формате. Пользовательский ввод перехватывается через DOM-события и затем транслируется на сервер через WebSocket API, позволяющий организовать двунаправленный обмен данными с сервером.
© OpenNet