URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 87983
[ Назад ]

Исходное сообщение
"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."

Отправлено opennews , 28-Дек-12 14:56 
Александр Ларсон (Alexander Larsson), активный разработчик GNOME и мантейнер таких проектов, как Nautilus, Gnome-vfs и Dia, объявил (http://blogs.gnome.org/alexl/2012/12/27/broadway-multi-proce.../) о внесении порции улучшений в GDK-бэкенд Broadway (http://git.gnome.org/browse/gtk+/log/?qt=grep&q=broadway), позволяющий отрисовывать вывод библиотеки GTK3+ в окне web-браузера. Работа бэкенда переработана для обработки соединений с использованием отдельного процесса broadwayd, который по аналогии с X-сервером берёт на себя обработку всех задач по взаимодействию с клиентскими приложениями, работа с которыми организована через браузер. Для обработки запросов через HTTP в состав broadwayd включена реализация http-сервера, а также обеспечена возможность запуска дополнительных процессов broadwayd, которые выполняют функции сходные с раздельными X-сессиями при доступе через Web. Таким образом, пользователь теперь может легко запустить broadwayd и реализовать такие схемы как работа в одном окне браузера одновременно с несколькими Gtk-приложениями или открытие нескольких браузерных сессиий.

<center>
<iframe width="640" height="360" src="http://www.youtube.com/embed/hhMFD3ZCrIc?rel=0" frameborder="0" allowfullscreen></iframe>
</center>


Напомним, что HTML5-бэкенд к GTK3+ позволяет запустить Gtk-приложение на одной машине, после чего получить доступ к интерфейсу данной программы с другой машины через web-браузер. С технической стороны, каждое окно сопоставляется с элементом canvas и для обновления содержимого окна организуется передача потока команд через "multipart/x-mixed-replace"-запросы XMLHttpRequest, использующие gzip-сжатие для сокращения объема передаваемых данных. Содержимое окон передается клиенту в виде копий слоев (для скроллинга) и блоков, описывающих изменения между изображениями. Изображения отправляются в виде несжатых данных в PNG-формате. Пользовательский ввод перехватывается через DOM-события и затем транслируется на сервер через WebSocket API (https://www.opennet.ru/opennews/art.shtml?num=24617), позволяющий организовать двунаправленный обмен данными с сервером.


URL: http://blogs.gnome.org/alexl/2012/12/27/broadway-multi-proce.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=35713


Содержание

Сообщения в этом обсуждении
"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено x0r , 28-Дек-12 15:40 
написал один раз софт на GTK - и запускай удаленно через браузер, тот же Gimp

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено xgjr , 28-Дек-12 15:06 
Изображения отправляются в виде несжатых данных в PNG-формате
в png заложено-же сжатие o_O

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Главные Редакторы , 28-Дек-12 15:20 
Автор новости хотел сказать "без потерь". PNG сжимает, но без потерь.

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено x0r , 28-Дек-12 15:39 
надо смотреть как там в оригинале написано.
PNG сжатие, довольно тормозное, так что может просто PNG контейнер используется с отключенным сжатием.

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 28-Дек-12 15:44 
нет, там именно без сжатия - "uncompressed png data."

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 28-Дек-12 15:55 
> нет, там именно без сжатия - "uncompressed png data."

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


"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Crazy Alex , 28-Дек-12 16:05 
Интресно, а насколько сложно было бы хотя бы часть вектором выплевывать?

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено codejumper , 28-Дек-12 17:23 
сложно: понадобится растровое изображение в вектор преобразовывать, а это совсем не тривиальная задача

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


"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Crazy Alex , 28-Дек-12 18:37 
Не, о векторизации я не говорил. если окошки/менюшки не битмапами - то это всё,что меня интересовало. Хотя мне кажалось, что оно как раз всё растром тянет.

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Kroz , 28-Дек-12 16:45 
Это единственная фича, которая может заставить меня попробовать gnome.
Интересно KDEшники скоро что-то подобное сделают?

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 28-Дек-12 17:08 
При чем здесь гном и KDE?
GTK != gnome.
KDE != Qt.
В Qt5 тоже есть HTML5-бэкенд.
В следущий раз, пожалуйста, спрашивайте именно то, что хотите узнать, а не какую-то левую фигню, ибо это был последний акт телепатии, который я совершаю перед уходом в отпуск.

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Anton , 28-Дек-12 18:19 
О нет! Что же мы без вас будем делать?

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 28-Дек-12 19:35 
пребывать в неведении
ваш КО

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Анонимуззз , 29-Дек-12 17:21 
>GTK != gnome.
>KDE != Qt.

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


"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 29-Дек-12 23:33 
> Реальность такова, что Gtk приложения интегрируются в GNOME

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

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

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


"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 29-Дек-12 21:29 
>В Qt5 тоже есть HTML5-бэкенд.

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


"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 29-Дек-12 23:36 
>>В Qt5 тоже есть HTML5-бэкенд.
> пруфом угостите или как?

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


"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено XoRe , 28-Дек-12 16:49 
Интересная штука.
Аналог vnc через браузер, без всяких java/flash.
Её бы не только в gtk, а вообще в иксы.

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Crazy Alex , 28-Дек-12 17:08 
Только желательно всё же вектором - хотя бы частично.

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Crazy Alex , 28-Дек-12 17:15 
В идеале - потоком JS-кода, который можно бдует со временем сильно оптимизировать.

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Аноним , 28-Дек-12 17:59 
> Только желательно всё же вектором - хотя бы частично.

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


"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Crazy Alex , 28-Дек-12 18:43 
Ну вот видео и надо так гнать. А нормальные экранные картинки - из четких линий, чаще всего - прямых - гнать через webm - нарываться на паршивое качество картинки. Собственно, их лучше всего гонять глифами и собирать на клиенте, заоднооткроется огромный простор для оптимизаций - клиент-то умный, когда не лень будет - можнона писать генерацию JS, который часть интерактивности будет отрабатывать вообще не трогая сервер, и количество такогоJS можно увеличивать. В этой связи любопытно - ведь Qt даже больше шансов есть заставить так работать, с их новыми джаваскриптовыми веяниями...

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено XoRe , 28-Дек-12 23:00 
> Ну вот видео и надо так гнать. А нормальные экранные картинки -
> из четких линий, чаще всего - прямых - гнать через webm
> - нарываться на паршивое качество картинки. Собственно, их лучше всего гонять
> глифами и собирать на клиенте, заоднооткроется огромный простор для оптимизаций -
> клиент-то умный, когда не лень будет - можнона писать генерацию JS,
> который часть интерактивности будет отрабатывать вообще не трогая сервер, и количество
> такогоJS можно увеличивать. В этой связи любопытно - ведь Qt даже
> больше шансов есть заставить так работать, с их новыми джаваскриптовыми веяниями...

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



"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Crazy Alex , 29-Дек-12 03:38 
В смысле? JS сейчас более-менее стандартен во всех браузерах, даже в IE. Я сам сейчас веб-писакой подвизаюсь...

"В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольк..."
Отправлено Crazy Alex , 28-Дек-12 18:40 
Интересно, кстати, зачем такая смесьтехнологий - с одной стороны ajax, с другой - WebSOckets. Которые, между прочим,отлично бинарные данные тягают, и браузер  без проблем можно заставить эти бинарные данные интерпретировать как картинку. Впрочем, GTK славится неряшливым и избыточным кодом отрисовки...