The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольких процессов-обработчиков

28.12.2012 14:13

Александр Ларсон (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, позволяющий организовать двунаправленный обмен данными с сервером.

  1. Главная ссылка к новости (http://blogs.gnome.org/alexl/2...)
  2. OpenNews: Один из разработчиков GNOME предложил новую реализацию неименованных каналов
  3. OpenNews: Представлена Linux-версия системы удалённого доступа к рабочему столу Splashtop Streamer
  4. OpenNews: Обновление GDK-бэкенда для формирования вывода Gtk+ через web-браузер
  5. OpenNews: В состав GTK+ 3.2 будет включен HTML5-бэкенд, отображающий приложения через web-браузер
  6. OpenNews: Представлен бэкенд для формирования вывода Gtk+ через web-браузер
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35713-gtk
Ключевые слова: gtk, gnome, web, html5
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
 
  • 2.5, x0r (??), 15:40, 28/12/2012 [ответить]  
  • +3 +/
    написал один раз софт на GTK - и запускай удаленно через браузер, тот же Gimp
     
  • 1.2, xgjr (?), 15:06, 28/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Изображения отправляются в виде несжатых данных в PNG-формате
    в png заложено-же сжатие o_O
     
     
  • 2.3, Главные Редакторы (?), 15:20, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Автор новости хотел сказать "без потерь". PNG сжимает, но без потерь.
     
     
  • 3.4, x0r (??), 15:39, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    надо смотреть как там в оригинале написано.
    PNG сжатие, довольно тормозное, так что может просто PNG контейнер используется с отключенным сжатием.
     
  • 3.6, Аноним (-), 15:44, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нет, там именно без сжатия - "uncompressed png data."
     
     
  • 4.7, Аноним (-), 15:55, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > нет, там именно без сжатия - "uncompressed png data."

    Более того там самописная функция для выплёвывания raw image данных в PNG, который затем преобразуется в base64. Сжатие там предусмотрено для всего потока через gzip content-encoding, но в текущей реализации оно не работает.

     
  • 2.8, Crazy Alex (ok), 16:05, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Интресно, а насколько сложно было бы хотя бы часть вектором выплевывать?
     
     
  • 3.14, codejumper (?), 17:23, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    сложно: понадобится растровое изображение в вектор преобразовывать, а это совсем не тривиальная задача

    а окошки/менюшки и тд там и так не картинками, а метаданными идут

     
     
  • 4.18, Crazy Alex (ok), 18:37, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не, о векторизации я не говорил. если окошки/менюшки не битмапами - то это всё,что меня интересовало. Хотя мне кажалось, что оно как раз всё растром тянет.
     

  • 1.9, Kroz (??), 16:45, 28/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Это единственная фича, которая может заставить меня попробовать gnome.
    Интересно KDEшники скоро что-то подобное сделают?
     
     
  • 2.12, Аноним (-), 17:08, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При чем здесь гном и KDE?
    GTK != gnome.
    KDE != Qt.
    В Qt5 тоже есть HTML5-бэкенд.
    В следущий раз, пожалуйста, спрашивайте именно то, что хотите узнать, а не какую-то левую фигню, ибо это был последний акт телепатии, который я совершаю перед уходом в отпуск.
     
     
  • 3.17, Anton (??), 18:19, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    О нет! Что же мы без вас будем делать?
     
     
  • 4.21, Аноним (-), 19:35, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    пребывать в неведении
    ваш КО
     
  • 3.25, Анонимуззз (?), 17:21, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >GTK != gnome.
    >KDE != Qt.

    Не надоело ещё эту мантру повторять?
    Реальность такова, что Gtk приложения интегрируются в GNOME, а Qt приложения в KDE на порядок лучше, чем перекрёстно.

     
     
  • 4.27, Аноним (-), 23:33, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Реальность такова, что Gtk приложения интегрируются в GNOME

    …или в XFCE, или в LXDE…
    > а Qt приложения в KDE

    …ничем не превосходят себя же в razor-qt.
    Нет, серьёзно. Ты что, кроме гнома и кед ни одного ДЕ не знаешь? А может, ты еще и не в курсе, что разроботкой Qt и KDE занимаются совершенно разные сообщества? Нет, придётся всё-таки повторить эту мантру еще раз:
    >GTK != gnome.
    >KDE != Qt.

    Неужели так сложно это понять?

     
  • 3.26, Аноним (-), 21:29, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >В Qt5 тоже есть HTML5-бэкенд.

    пруфом угостите или как?

     
     
  • 4.28, Аноним (-), 23:36, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>В Qt5 тоже есть HTML5-бэкенд.
    > пруфом угостите или как?

    Вот он, пожалуйста:
    http://www.youtube.com/watch?v=qDyWjNju1yU
    Ссылка на исходники в описании видео.

     

  • 1.10, XoRe (ok), 16:49, 28/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересная штука.
    Аналог vnc через браузер, без всяких java/flash.
    Её бы не только в gtk, а вообще в иксы.
     
     
  • 2.11, Crazy Alex (ok), 17:08, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Только желательно всё же вектором - хотя бы частично.
     
     
  • 3.13, Crazy Alex (ok), 17:15, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В идеале - потоком JS-кода, который можно бдует со временем сильно оптимизировать.
     
  • 3.16, Аноним (-), 17:59, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Только желательно всё же вектором - хотя бы частично.

    Для нормального удалённого просмотра видео нужно содержимое экрана рендерить на стороне сервера, перекодировать в какой-нибудь webm в отправлять клиенту. На клиенте просто отображать видеопоток и транслировать ввод. Webm очень хорошо выявляет повторяющуюся инфорацию и будет отправлять только изменённые области экрана. Если канал проблемный то можно за счёт небольшой потери качества картинки сохранить приемлимую отзывчивость.

     
     
  • 4.20, Crazy Alex (ok), 18:43, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот видео и надо так гнать. А нормальные экранные картинки - из четких линий, чаще всего - прямых - гнать через webm - нарываться на паршивое качество картинки. Собственно, их лучше всего гонять глифами и собирать на клиенте, заоднооткроется огромный простор для оптимизаций - клиент-то умный, когда не лень будет - можнона писать генерацию JS, который часть интерактивности будет отрабатывать вообще не трогая сервер, и количество такогоJS можно увеличивать. В этой связи любопытно - ведь Qt даже больше шансов есть заставить так работать, с их новыми джаваскриптовыми веяниями...
     
     
  • 5.23, XoRe (ok), 23:00, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну вот видео и надо так гнать. А нормальные экранные картинки -
    > из четких линий, чаще всего - прямых - гнать через webm
    > - нарываться на паршивое качество картинки. Собственно, их лучше всего гонять
    > глифами и собирать на клиенте, заоднооткроется огромный простор для оптимизаций -
    > клиент-то умный, когда не лень будет - можнона писать генерацию JS,
    > который часть интерактивности будет отрабатывать вообще не трогая сервер, и количество
    > такогоJS можно увеличивать. В этой связи любопытно - ведь Qt даже
    > больше шансов есть заставить так работать, с их новыми джаваскриптовыми веяниями...

    Не портабельно будет.


     
     
  • 6.24, Crazy Alex (ok), 03:38, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле? JS сейчас более-менее стандартен во всех браузерах, даже в IE. Я сам сейчас веб-писакой подвизаюсь...
     

  • 1.19, Crazy Alex (ok), 18:40, 28/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно, кстати, зачем такая смесьтехнологий - с одной стороны ajax, с другой - WebSOckets. Которые, между прочим,отлично бинарные данные тягают, и браузер  без проблем можно заставить эти бинарные данные интерпретировать как картинку. Впрочем, GTK славится неряшливым и избыточным кодом отрисовки...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру