Представлен бэкенд для формирования вывода Gtk+ через web-браузер

24 ноября 2010 года

Александр Ларсон (Alexander Larsson), активный разработчик GNOME и мантейнер таких проектов, как Nautilus, Gnome-vfs и Dia, представил экспериментальный GDK-бэкенд (GIMP Drawing Kit), позволяющий отрисовывать вывод библиотеки GTK+ 3 в окне web-браузера. Бэкенд находится на начальной стадии развития, поэтому исходные тексты пока недоступны, но судя по представленной демонстрации возможности проекта уже позволяют транслировать вывод почти всех тестовых приложений GNOME.

Положительным качеством разработки является то, что для работы не требуется модификация кода GTK+ и приложений. Отрицательная черта - для работы требуется web-браузер с поддержкой последних HTML5-технологий, таких как web-сокеты и canvas (например, Firefox 4). В перспективе web-бэкенд может быть использован для организации служб для удаленной работы с приложениями через web-браузер (например, можно сделать что-то похожее на утилиту screen, позволяющее получить доступ к своим программам из любого места) или даже для создания публичных web-сервисов, приложениями в которых выступают Gtk-программы (например, web-сервис редактирования изображений на базе Gimp).

С технической стороны, каждое окно сопоставляется с элементом canvas и для обновления содержимого окна организуется передача потока команд через "multipart/x-mixed-replace"-запросы XMLHttpRequest, использующие gzip-сжатие для сокращения объема передаваемых данных. Содержимое окон передается клиенту в виде копий слоев (для скроллинга) и блоков, описывающих изменения между изображениями. Изображения отправляются в виде несжатых данных в PNG-формате. Пользовательский ввод перехватывается через DOM-события и затем транслируется на сервер через WebSocket API, позволяющий организовать двунаправленный обмен данными с сервером.

Источники

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

Комментарии

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