The OpenNET Project / Index page

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

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

17.03.2011 22:11

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

  1. Главная ссылка к новости (http://blogs.gnome.org/alexl/2...)
  2. OpenNews: Представлен бэкенд для формирования вывода Gtk+ через web-браузер
  3. OpenNews: Релиз GTK+ 3.0.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/29951-gtk
Ключевые слова: gtk, html5, web, browser
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (64) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, bav (?), 22:36, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Очень заманчиво. Жалко что под виндоус сборки не скоро появятся.
     
     
  • 2.22, ананим (?), 23:22, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а зачем?
    пусть себе крутятся на сервере с линухом, бздёй и пр. им там самое место.
    а на виндовых серверах пусть вон дотнет колбасится.
     
     
  • 3.35, bav (?), 23:58, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а зачем?

    Кстати, действительно, а зачем мне там собранный гтк? На этой радостной ноте пойду просплюсь, наконец.

     
     
  • 4.38, ананим (?), 00:51, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вот и славненько.
    а на винде пусть только браузер правильный будет. фф например.
    а там глядишь и винда не нужна станет.
     
  • 4.40, User294 (ok), 01:30, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Кстати, действительно, а зачем мне там собранный гтк?

    Угу, и вместо бесплатного гимпа можно же спи... ой, простите, то-есть купить за какихнить там 300 баксов фотошоп, ага. Чтобы раз в месяц красные глаза с фоток удалять, да :)

     
     
  • 5.43, bav (?), 01:48, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не совсем понятно, что вызвало такую бурную аллюзию. Тихо, мирно радовался, не придется пилить обновлятор клиентов под оффтопик и тут как ушат холо^W^W серпом по яйцам: фотошоп, красные глаза. Я несколько в недоумении и требую сатисфакции.
     
     
  • 6.74, Vitaly_loki (ok), 09:40, 20/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да не обращай на него внимания
     
  • 5.54, crypt (??), 12:23, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    По мне так вместо того, чтобы этот gimp в браузере запускать, они бы лучше этот gimp улучшали в сторону пригодности для профессионалов. Пусть оно лучше на gtk 2+ работает, но работает так, что проф. дизайнеры его захотят использовать вместо photoshop.
     
     
  • 6.57, anonymous (??), 16:17, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > По мне так вместо того, чтобы этот gimp в браузере запускать, они
    > бы лучше этот gimp улучшали в сторону пригодности для профессионалов.

    1. GTK и GDK к гимпу имеют лишь косвенное отношение. в названии. потому что отплчковались от него.
    2. кому надо — тот и улучшает. я не профессионал, например, мне гимпа достаточно. а был бы профессионалом — купил бы профессиональные инструменты. гимп никогда и не целился в нишу «профессионалов».

     

  • 1.2, Мужик32 (ok), 22:37, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто.
     
  • 1.3, Аноним (-), 22:41, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а сам фаерфокс, будет там отображаться и работать?
     
     
  • 2.12, eigrad (?), 22:51, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    как только его соберут на gtk3
     
  • 2.26, kgl9 (?), 23:33, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >а сам фаерфокс, будет там отображаться и работать?

    А то…
    chrome://browser/content/browser.xul
    chrome://mozapps/content/extensions/extensions.xul
    chrome://mozapps/content/xpinstall/xpinstallConfirm.xul

    и так далее.

     
     
  • 3.32, Мужик32 (ok), 23:48, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Что бы все это значило?
     
     
  • 4.34, Заоза (?), 23:56, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Что возможность его работы в гтк среде 3.2, крайне мала.
     
     
  • 5.62, Мужик32 (ok), 19:09, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А можно по подробнее. Почему мала? И как это связано с теми файлами в вашем комментарии?
     
     
  • 6.67, sl30sja29 (?), 20:55, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Так возьми огнелиса и зайди по этому адресу, вмиг всё поймешь.
     
     
  • 7.68, Мужик32 (ok), 21:44, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Что? По какому адресу? Вы можете что-нибудь по делу сказать? Я не понял некоторых логических переходов в ваших рассуждениях и прошу вас объяснить, если вам не сложно.
     
     
  • 8.71, sdjfn29sa (?), 10:08, 19/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Чудной 1 Возьми скопируй строчку chrome browser content browser xul 2 Вставь ... текст свёрнут, показать
     
     
  • 9.73, Мужик32 (ok), 16:16, 19/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это все очень интересно, но вы опять ушли от прямого ответа Как все это мешает ... текст свёрнут, показать
     
     
  • 10.75, sadfkj2309 (?), 13:43, 21/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос был может ли браузер работать в браузере Узри Никак ... текст свёрнут, показать
     
  • 2.52, NW (?), 10:38, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    рекурсия - это рекурсия...
     
     
  • 3.72, sdjfn29sa (?), 10:17, 19/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > рекурсия - это рекурсия...

    Браво, ваше IQ больше сотни, в отличии от…

     

  • 1.4, Толстый_ (?), 22:43, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    даешь такое же, но для Qt. хотя c другой стороны QtGui скоро сделают устаревшей, так как готовится desktop-components для QML
     
     
  • 2.9, Мужик32 (ok), 22:48, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вы утверждаете, что нативный для C++ API уберут и оставят только декларативную фигню? Как только это случится, Qt можно будет закапывать.
     
     
  • 3.39, Толстый_ (?), 01:19, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, так и будет http://labs.qt.nokia.com/2011/03/10/qml-components-for-desktop/. Только что в этом плохого я не вижу. Вы имеете декларативный интерфейс, если необходимо что-то "тяжелое" - реализуете его на С++. По-моему, идеально. Интерфейсы они как раз-таки декларативны по своей природе.
     
     
  • 4.58, anonymous (??), 16:23, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вообще — никак не могу понять, зачем тролям заниматься фигнёй, когда у них в коробке лежит WebKit. я, например, практически с момента появления вебкита морды рисую именно на нём (до тролей недавно тоже дошло, что так можно; но туго как-то дошло). экспортнуть в вебкитовый js нужные классы проще простого (я в своё время сваял на коленке препроцессор для этого и не парюсь; авось в дальнейшем допилят и нормальную интеграцию, как с QtScript). а дальше сиди себе и пиши почти обычную страницу с вкраплениями скриптов. практически задаром получаешь неплохую морду, к тому же полностью скинабельную, если надо.

    я к тому, что не понимаю, нафэйхоа было изобретать очередной велосипед, когда вебкит давно в майнлайне.

     

  • 1.5, Noldo (ok), 22:44, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А поддержка opengl ускорения при рендеринге через браузер будет?
     
     
  • 2.7, Мужик32 (ok), 22:46, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    НЕТ
     
     
  • 3.13, Noldo (ok), 22:53, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну вот. А я то думал стоящая технология.
     
     
  • 4.14, bav (?), 22:57, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > А я то думал стоящая технология.

    Стоимость технологии не зависит от громкости поддерживаемых перделок.

     
  • 4.15, Мужик32 (ok), 23:06, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем оно надо то? Вас послушать, так и в моих тапках должно быть "опенгл ускорение" (кстати, опенгл и аппаратное ускорение не синонимы).
     
     
  • 5.50, Suberjin (ok), 08:31, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Классная фраза, надо будет запомнить )
     

  • 1.6, AsphyX (ok), 22:44, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Даже из этого описания можно предположить, что банальный VNC будет эффективнее в отношении скорости рисования и экономии трафика. А в браузере, если уж приспичит, можно запустить клиент на Java.
     
     
  • 2.10, eigrad (?), 22:49, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    не будет, оно получается близко к rdp по производительности
     
     
  • 3.25, ананим (?), 23:31, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    если не лучше.
    вот только без плюшек в виде расшаренных ресурсов, принтеров, звука,..
    и с этим надо будет что-то делать.
    но одно то, что приложения даже не надо будет переделывать - большой плюс.
     
  • 2.29, anonymous (??), 23:42, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    вряд ли эффективнее; vnc передает всегда изменяющиеся области как картинки, а тут высокоуровневое (как и при обычном рендеринге) разделение на слои, т.е. бэкграунд, элементы, текст, которые передаются отдельно; при послойном сжатии эффективность значительно выше, т.к. например бэкграунд бывает однородным, черно-белая текстура с текстом сжимается, эффект примерно как в djvu - сильно лучшее сжатие при правильном разбиении на слои. Кроме того, далеко не все обязанно передаваться картинками, ведь в gtk3 и темы в виде css, наверное какой-то рендеринг можно прямо перекидывать браузеру.
     

  • 1.8, eigrad (?), 22:48, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ушел собирать, очень хочется пощупать как оно работает :-)
     
  • 1.16, rshadow (?), 23:07, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем это надо если есть X?
     
     
  • 2.17, Мужик32 (ok), 23:09, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Затем, что Х сервер - это Х сервер (который еще поставить надо), а веб приложение - это веб приложение.
     
     
  • 3.20, rshadow (?), 23:11, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    В тексте вот приводят пример Evince и Gedit. Их можно запустить без Х?
     
     
  • 4.27, ананим (?), 23:34, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    на клиенте где браузер?
    однозначно.
     
  • 4.30, Мужик32 (ok), 23:45, 17/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    У клиента никаких иксов нет, только браузер. Хотя, в этом случае вроде и на сервере иксы не нужны.
     
     
  • 5.60, rshadow (?), 18:46, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Дык это круто! А с каким ключем запускать фаерфокс на клиенте чтобы он без иксов работал?
     
     
  • 6.63, Мужик32 (ok), 19:22, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    1. Купите себе виндовс 7 и забудьте про иксы.
    2. Даже если браузер крутится на иксах, к страничке в браузере это не имеет отношения.
    3. Браузер совершенно не обязан работать в иксах, он может работать в другой оконной системе или вообще на телевизоре или в телефоне. И это может быть не ФФ, а опера, например (разработчики обещают сделать это работающим и в других браузерах).
     
     
  • 7.66, rshadow (?), 20:36, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А так это все опять чтобы пользователи на Windows 7 работали. А зачем тогда сервер на линуксе? Поставить Windows Server и не париться.
     
     
  • 8.69, Мужик32 (ok), 21:50, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я про телефоны и ТВ не просто так написал К тому же, пользователей 90 , вполне ... текст свёрнут, показать
     
  • 5.61, rshadow (?), 18:48, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да и ключик для gedit тоже подскажите чтобы его на сервере без Х запускать. Тоже очень надо. Спасибо.
     
     
  • 6.64, Мужик32 (ok), 19:24, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вы что, читать не умеете? В новости же написано "GDK_BACKEND=broadway gedit". Гедит написан на гтк и иксах ничего не знает.
     
  • 2.36, Evtomax (ok), 00:01, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Браузер потихоньку превращают в навороченный аналог X-сервера.
     
     
  • 3.49, anthonio (ok), 04:09, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А когда-то он просто показывал странички... эх...
     

  • 1.18, Аноним (-), 23:10, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А демки есть на посмотреть?
     
  • 1.24, FPGA (ok), 23:28, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    так и представил себе... Vala/Mono + GTK(#) 3.2 отображается как десктопная программа и как веб приложение... вот оно счастье, пошел учить GTK
    ЗЫ
    на самом деле круто, нет слов
     
     
  • 2.42, User294 (ok), 01:36, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > на самом деле круто, нет слов

    Угу. А потом придет гугл и сделает хром ос. У вас только браузер :))). А программы - все у них, гыгыгы. И данные тоже. Cloud computing - это ж модно, да. Поэтому у вас только глупый терминал для доступа к их программам и вашим-уже-нифига-не-вашим данным, хаха :)))

     
     
  • 3.44, FPGA (ok), 01:49, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу. А потом придет гугл и сделает хром ос. У вас только браузер :))). А программы - все у них, гыгыгы.

    Топором можно дворец построить, а можно старушку зарубать ;)

     
     
  • 4.45, ананим (?), 02:12, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    со времён Достоевского старушки умнее стали - они топоры патентуют так, что даже дворец безвозмездно не построишь, должен будешь.
     
  • 3.56, filosofem (ok), 13:20, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гугл уже пришел. Данная технология как раз альтернатива Гугло-аппсам и Гугло-хромосям. Во всяком случае это первое что подумалось мне насчет этой новости. А как распоряжаться этой технологией ― поднимать собственный сервер, или корпоративный, или ложиться под гуглоподобные облака, это уже личный выбор каждого.
     

  • 1.33, СуперАноним (?), 23:48, 17/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Жду GDK_BACKEND=kde
     
     
  • 2.37, bav (?), 00:01, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Жду GDK_BACKEND=kde

    Внешний вид гтк приложений не зависит от бэкенда.

     
  • 2.65, Мужик32 (ok), 19:26, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Что это за бред?
     

  • 1.51, Аноним (-), 10:25, 18/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    уже есть NaCl от Google
     
     
  • 2.53, Остров (?), 11:57, 18/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    И что? От гугля много чего есть. И не все удачное и не все "пошло в серию".
    Но "Все молиться на Гугл"!

    ЗЫ
    А уж скока от мелкомягких-то есть...

     

  • 1.59, StrangeAttractor (ok), 17:51, 18/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Получается что и тут передаётся графика (нет чтобы вот описания элементов форм передавать, которые бы уже на клиенте рендерились...). Интересно, и насколько оно при этом живее работает, чем какой-нибудь VNC/RDP/X-over-SSH?
     
  • 1.70, lucentcode (ok), 01:45, 19/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень хорошо. Это позволит организовывать работу GTK-приложений под любой ОС, в которой найдётся кошерный браузер. Вначале пользователей альтернативной ОС подсадим на бесплатые он-лайн приложения на GTK, а когда большая часть их приложений окажется на GTK, они и сами задумаются о смене/установке в дуалбут правильной ОС.
     

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



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

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