LINUX.ORG.RU

Будущее GTK

 ,


0

0

Сайт ars technica выложил подборку статей и интервью, где обсуждаются планы будущего развития GTK+. В общем, можно выделить такие направления:

  • Imendio, компания, ведущая около-GTK'шную разработку, а также спонсирующая порт GTK+ на MacOS X, предлагает реализовать эффекты, анимацию, физику (!) для улучшения пользовательского интерфейса (полный доклад http://developer.imendio.com/sites/de...)
  • Хавок Пеннингтон, который недавно ушел из Red Hat, 9 лет занимавшийся разработкой GNOME, предлагает интегрировать так давно необходимый Canvas в GTK+3.0. До этого разработчикам приходилось использовать для своих нужд сторонние разработки, что вызывало ряд проблем. Полный текст письма http://mail.gnome.org/archives/gtk-de....
  • Целый ряд разработчиков во главе с Mirco Muller (Canonical, Ltd) мечтают увидеть отрисовку виджетов полностью на OpenGL, что позволит создавать любые мыслимые и немыслимые эффекты для приложений. Некоторые успехи уже есть http://arstechnica.com/news.ars/post/..., но это все равно еще не предел. Плюс Andrea Cimitan уже сделал поддержку rgba прозрачности в виджетах, что добавляет оптимизма.

Подводя итоги, нужно сказать что GTK+ - замечательный тулкит, но все же некоторые болезни есть и у него. Сюда входят и две абсолютно разные модели заселения тулбаров, и три схемы построения интерфейса на основе XML, и разные проблемы с попиксельным позиционированием виджетов. Все это не может быть решено без слома старого API, поэтому в стане GTK+ все чаще звучат голоса в поддержку нового API в GTK+3.0. Все же, усилия Immendio, Пеннингтона и огромного сообщества делают будущее GTK+ чистым и ясным.

>>> Подробности

Ответ на: комментарий от gh0stwizard

> Сколько можно ломать и строить? А не улучшать уже созданное?

А что здесь непонятного? В этом и заключается преимущество софта - его можно менять. Совместимость это конечно классно, но её поддержание в новых версиях отнимает много ресурсов и порождает огромное кол-во костылей(см. оффтопик) да и мало кому из разработчиков интересно.

anonymous
()
Ответ на: комментарий от hexenlord

> да и вообще , не пора ли объединяться ? Qt давно уже опенсорсная

не пройдет:
QT = GPL2 or GPL3 or $$$
GTK = LGPL

szh ★★★★
()

> Хавок Пеннингтон, который недавно ушел из Red Hat, 9 лет занимавшийся разработкой GNOME, предлагает интегрировать так давно необходимый Canvas в GTK+3.0

Где по ссылке на mailing list упоминается GTK+3?

> Все это не может быть решено без слома старого API, поэтому в стане GTK+ все чаще звучат голоса в поддержку нового API в GTK+3.0

Где по ссылке на новость упоминается GTK+3? Откуда предположения про необходимость слома API?

> ...и разные проблемы с попиксельным позиционированием виджетов...

По моему, попиксельное позиционирование виджетов must die.

cruxish ★★★★
()
Ответ на: комментарий от scaldov

>ахуеть. скока специалистов-то ёпт. вы хоть одну програмулину на qt написали? а на gtk? вот я писал и не одну. говна в qt - лопатой греби. косяков немеряно. gtk2 гораздо более стабилен и предсказуем. мало того, для встраиваемых систем - самое то. прога на GTK стартует в 3 раза быстрее, чем на Qt. так-то вот. Интерфейсы на гтк создаются любой сложности. Главное - фантазия чтоб вылезала за пределы привычного. Скажем, вертикальные табы - хорошо экономят место. Во многих прогах такие видели?. Вот. Более, Кутэ = набор велосипедов. и классы для БД там встроены, и для ХМЛ, и интернационализация через собственную жопу. В то время, Гтк - это просто либы для гуёв. остальное - на ваш выбор.

Спициалистов - немеряно, ну просто как гуталину, програмулин на ентих qt и gtk ишшо больше, а толку? Ведь одно говно клепается по мелкософтоффским шаблонам, я говорю не про форточки а про linux, ну задолбали уже: 3.14здят про свои открытые исходники, на какой хрен они нужны - их исходники, если их программы спроектированы идеалогически ПРОПРИЕТАРНО со всеми элементами вендорлокин и подружить их между собой не представляется вожможным. Короче если open source не прейдет на следуюшую ступень свободы под названием (условно) open interfaces или open formates то грош ему цена. Нахрена мне нужны броузеры, которые хранят МОИ букмарки хрен знает где, как бог на душу положит и чтобы свести их в кучу надо отказаться от локального хранения и хранить в сети, былин! Я уже полностью отказался от мыл-программ и храню всю свою почту в вебе из-за при3.14зженных мейлеров, почему нельзя сохранять МОЮ почту в МОЕМ MAILBOX нахрена мне куча нестандартных директорий от разных тандербердов, кмылово и прочего дерьма, почему отсутствует в моей домашней директории СТАНДАРТНАЯ общедоступная (для программ) адресная книжка и еще море почему? При этом открытость исходников нихрена не решает эти проблемы из-за которых я свалил с виндовс, мелкософт пытается решать их своими методами - путем полной монополизации производства софта, получается у них еще хуже, но это не повод радоваться. В общем накипело! БЫЛИН!

//Редкая Птица

anonymous
()

Будущее такое: GTK раздуется до неприлично больших размеров и будет слишком сложен, чтобы его можно было нормально поддерживать разработчиками. В результате будут накапливаться баги и долго исправляться.
И тогда вылезет GEGL и всем навешает.

GTK можно спасти только переписыванием с нуля.

>Imendio, компания, ведущая около-GTK'шную разработку, а также спонсирующая порт GTK+ на MacOS X, предлагает реализовать эффекты, анимацию, физику (!) для улучшения пользовательского интерфейса

Срочно вдоль! В один тулкит _виджетов_ нельзя столько всего пихать! Как я уже выше писал - чрезмерная пагубная сложность.

>Хавок Пеннингтон, который недавно ушел из Red Hat, 9 лет занимавшийся разработкой GNOME, предлагает интегрировать так давно необходимый Canvas в GTK+3.0.

Вот это уже неплохая идея.

>Целый ряд разработчиков во главе с Mirco Muller (Canonical, Ltd) мечтают увидеть отрисовку виджетов полностью на OpenGL, что позволит создавать любые мыслимые и немыслимые эффекты для приложений. Некоторые успехи уже есть http://arstechnica.com/news.ars/post/..., но это все равно еще не предел.

А вот этим надо срочно к логопеду... Пусть сначала разберутся с 3D адаптерами под линукс. А программная отрисовка виджетов нужна всегда.
Лучше вообще-то сделать отрисовку через OpenGL на уровне X-сервера. Имхо.

Quasar ★★★★★
()
Ответ на: комментарий от gh0stwizard

gh0stwizard> Не могут довести все до ума. Сколько можно ломать и строить? А не улучшать уже созданное?

Потому, что GTK2 изначально не рассчитывался на сегодняшние условия.

Quasar ★★★★★
()
Ответ на: комментарий от hexenlord

hexenlord> разработчикам GTK, ИМХО, следует действительно изучить опыт Троллей

А потом как придут на форум фанатов Qt и начнут на уши садиться... :)

Quasar ★★★★★
()
Ответ на: комментарий от anonymous

> Я уже полностью отказался от мыл-программ и храню всю свою почту в вебе из-за при3.14зженных мейлеров

Деточка IMAP ниасилила?

> почему отсутствует в моей домашней директории СТАНДАРТНАЯ общедоступная (для программ) адресная книжка

Деточка еще и LDAP ниасилил. Бывает.

> //Редкая Птица

Это которая "звездун-трепун реликтовый"?

no-dashi ★★★★★
()
Ответ на: комментарий от Quasar

>Будущее такое: GTK раздуется до неприлично больших размеров и будет слишком сложен, чтобы его можно было нормально поддерживать разработчиками. В результате будут накапливаться баги и долго исправляться. И тогда вылезет GEGL и всем навешает.

товарисч уфолог, рекомендую сначала поучить матчасть (в частности, что такое GEGL), чтобы не смешить людей подобными сентенциями и "глубокомысленными" заявлениями вроде "GTK2 изначально не рассчитывался на сегодняшние условия."

=)))

>>Хавок Пеннингтон, который недавно ушел из Red Hat, 9 лет занимавшийся разработкой GNOME, предлагает интегрировать так давно необходимый Canvas в GTK+3.0.

>Вот это уже неплохая идея.

А ты знаешь, что такое canvas и зачем он так необходим? =)

geek ★★★
()
Ответ на: комментарий от no-dashi

А чего вообще такое этот Канвас? То что Холст понятно, но нафиг он нужен в ГТК? Виджеты вроде и так можно свободно размещать.

petrosha ★★★★★
()

>отрисовку виджетов полностью на OpenGL

И Qt, И GTK от этого выиграли бы, имхо. Сейчас зачастую на анимацию приложений сложно смотреть без слёз. А в покусанных компах GL используется как основа уже давно, и с рюшками проблем нет вообще. Подтягиваться надо, IMHO

adarovsky ★★★★
()
Ответ на: комментарий от petrosha

>А чего вообще такое этот Канвас? То что Холст понятно, но нафиг он нужен в ГТК? Виджеты вроде и так можно свободно размещать.

Диаграмму изобрази виджетами :) Канва рассчитана на работу с кучей простых объектов. В GTK не особо разбираюсь, но суть одна должна быть: Qt Canvas использовала chunks, чтобы быстро проверять, кто виден/нет, и кто с кем пересекается. QGraphicsView использует BSP. Думаю, тут нечто похожее

adarovsky ★★★★
()
Ответ на: комментарий от mrdeath

>да да да. Давайте все через opengl рисовать. В линуксе самые лучшие драйвера для всех видеокарт.

Вместо горы всякого хлама, типа XRender, можно будет юзать один API. Драйверы существенно упростятся

>Почему что в кде, что в гноме все сконцентрировались на свистелках, когда хватает реальных проблем?

А в африке дети голодают. Когда ось встречает нового пользователя перемаргиваниями, tearing'ом при переносе окон (только compiz умеет делать sync to vblank) и тормозами при изменении размеров (включите эфффекты или прозрачность/тени и прочувствуйте всю глубину глубин), желание её использовать резко уменьшается

>В самом деле, догоним и перегоним висту по свистелкам, перделкам и потребляемым ресурсам.

Виста не использует GL. GL используется в макоси. И что-то не заметил я там аццких тормозов и жутких потребляемых ресурсов

adarovsky ★★★★
()

А всегда говорил что гномы рулят!!

ceeqwer
()
Ответ на: комментарий от anonymous

> Короче если open source не прейдет на следуюшую ступень свободы под названием (условно) open interfaces или open formates то грош ему цена.

+1

брат anonymous прав

anonymous
()
Ответ на: комментарий от adarovsky

>Qt Canvas использовала chunks, чтобы быстро проверять, кто виден/нет, и кто с кем пересекается. QGraphicsView использует BSP. Думаю, тут нечто похожее

и это тоже. А вообще проблема в том, что все что рисуется на канве не имеет под собой гткашой почвы - оно ведь не является потомком GtkWidget, поэтому идея в том чтобы сделать такую канву, чтобы можно было и с объектами напрямую работать, и чтобы не тормозило.

lester_dev ★★★★★
() автор топика

А почему дохнут такие начинания как Y Window System?

Ведь отрисовка виджетов тулкитонезависимо вроде неплохая идёя?

GAMer ★★★★★
()
Ответ на: комментарий от scaldov

>Более, Кутэ = набор велосипедов. и классы для БД там встроены, и для ХМЛ, и интернационализация через собственную жопу.

Дело в том, что начиная с 4-ой версии QT стала модульной библиотекой и использование того, либо иного класса тоже производится на выбор программиста.

soko1 ★★★★★
()
Ответ на: комментарий от geek

>А ты знаешь, что такое canvas и зачем он так необходим? =)

А ты просвети нас, убогих. Заодно скажи, что раз етого нет в ГТК - то оно не нужно.

sabonez ★☆☆☆
()
Ответ на: комментарий от anonymous

> мне даже страшно представить, сколько грязных хаков там внутри

Правильно. Потому что прежде чем городить подобную куйню, ты даже не удосужился прочитать хоть что-то по теме. Значит ты не разбираешься в теме, но зато вылез и напердел в лужу. Такие люди называются неразбирающиеся в ситуации или более известным словом для этого оприделения - кретины.

anonymous
()
Ответ на: комментарий от gh0stwizard

>ОМГ! Хотите программу на гтк А? Поставьте GTK-1. Хотите программу на гтк Б? Поставьте GTK-2. Хотите новую программу на гтк В? Поставьте GTK-3.

Посмотри в исходниках GTK, там много чего для совместимости со старыми версиями.

ttnl ★★★★★
()
Ответ на: комментарий от wfrr

> Теперь в гноме вместо кнопочек будут шеволящиеся пальцы ноги .

В evolution в процессе какой-либо длительной операции в строке статуса есть "нога" и у нее уже шевелятся пальцы. Баян.

no-dashi ★★★★★
()
Ответ на: комментарий от anonymous

>почему отсутствует в моей домашней директории СТАНДАРТНАЯ общедоступная (для программ) адресная книжка и еще море почему?

почему у меня одна адресная книга на все кде приложения? я даже не задумываюсь где она лежит и как работает.

Но вообще анонимус прав и спасут нас от этого бардака только кде-приложения с их интегрированностью

prizident ★★★★★
()
Ответ на: комментарий от prizident

> Но вообще анонимус прав и спасут нас от этого бардака только кде-приложения с их интегрированностью

И спасет нас от этого мекросовт со своей монополией.

Найди 10 отличий в этих высказываниях.

anonymous
()
Ответ на: комментарий от alex_custov

> Нет, свой прибор в разработке

алекс_кустов поставил QT на свой прибор ... силен :)))) Девки довольны?

anonymous
()
Ответ на: комментарий от adarovsky

>Диаграмму изобрази виджетами :) Канва рассчитана на работу с кучей простых объектов. В GTK не особо разбираюсь, но суть одна должна быть: Qt Canvas использовала chunks, чтобы быстро проверять, кто виден/нет, и кто с кем пересекается. QGraphicsView использует BSP. Думаю, тут нечто похожее

Ну типа того, как сделано было в gtk+extra :) Долго не мог понять что такое канва и нафиг она нужна пока в исходники не заглянул...

petrosha ★★★★★
()
Ответ на: комментарий от anonymous

>мне даже страшно представить, сколько грязных хаков там внутри, это не нативная поддержка, а твои любимые перламутровые костыли

надо же, тупые анонимусы ещё не все вымерли

geek ★★★
()
Ответ на: комментарий от scaldov

> scaldov (*) (11.04.2008 0:32:58) Если ты всю жизнь ездил на велосипеде, автомобиль для тебя покажется кривым и неудобным.

anonymous
()
Ответ на: комментарий от anonymous

> Если ты всю жизнь ездил на велосипеде, автомобиль для тебя покажется кривым и неудобным.

Какая херня :)

anonymous
()
Ответ на: комментарий от lester_dev

И?.. Опять-таки, предложения интегрировать Canvas в существующий GTK+ или ждать какой-то фантастический GTK+3, о котором и разработчики-то, наверное, не знают... :)

BTW, предложения феерические, особенно насчёт Qt. ;)

И ещё, GTK+ ведь сегодня умеет работать с glitz через cairo?..

cruxish ★★★★
()

тсссс..... ща прийдет гик!

з.ы.: мои анонимные (и не очень) аналитеки, гном и гтк это немного разные понятия. ненадо мешать мясо с молоком, некошерно получается.

anonymous
()
Ответ на: комментарий от Lumi

> И как по вашему можно объединить кутэ и гтк?

Взять Qt, расширить его так, чтобы он понимал GTK2-шный API, после чего выпустить единую библиотеку. Делов-то на пару лет...

Aceler ★★★★★
()

GTK не умрет, даже при полностью изменённом АПИ (чего ему желаю), ибо в нем заинтересованы коммерческие проекты (троллям-то за закрытие кода платить надо).

Мне вот больше нравиться QT, но на сегодняшний день использовать только GTK-софт реально, а только QT -- нет.

Вобщем, желаю проектам "дружить домами"!

fractaler ★★★★★
()
Ответ на: комментарий от Aceler

> Взять Qt, расширить его так, чтобы он понимал GTK2-шный API, после чего выпустить единую библиотеку. Делов-то на пару лет...

Тут есть некоторые проблемы с несовместимостью лицензий и гхм... гхм... языков программирования. :)

Bohtvaroh ★★★★
()
Ответ на: комментарий от Aceler

> Взять Qt, расширить его так, чтобы он понимал GTK2-шный API, после чего выпустить единую библиотеку. Делов-то на пару лет...

И поменять лицензию на Less GPL, чтобы продакшн на него хоть какое-то внимание обратил. Ну и биндинги к куче языков приделать, конечно.

mv ★★★★★
()
Ответ на: комментарий от Bohtvaroh

> Тут есть некоторые проблемы с несовместимостью лицензий и гхм... гхм... языков программирования. :)

Во-во

mv ★★★★★
()
Ответ на: комментарий от anonymous

> У меня на компе Qt медленнее.

У меня на всех компах QT медленней, только на более слабой машине это видно лучше всего.

только речь не о QT, а о GTK

anonymous
()
Ответ на: комментарий от Aceler

>Взять Qt, расширить его так, чтобы он понимал GTK2-шный API

ты же вроде девелопер, а элементарных вещей не знаешь. Наверное по-этому и говоришь такие смешные вещий =)

geek ★★★
()
Ответ на: комментарий от geek

>>Взять Qt, расширить его так, чтобы он понимал GTK2-шный API

> ты же вроде девелопер, а элементарных вещей не знаешь. Наверное по-этому и говоришь такие смешные вещий =)

Взять сознание и расширить его так, чтобы ни QT, ни GTK больше не нужно было :)

mv ★★★★★
()
Ответ на: комментарий от Bohtvaroh

> Тут есть некоторые проблемы с несовместимостью лицензий

Это уже добрая воля девелоперов. В конце концов, на оригинальный GTK+ можно вообще забить :)

Ну это я так, всё равно фантазирую.

Aceler ★★★★★
()
Ответ на: комментарий от Bohtvaroh

> и гхм... гхм... языков программирования. :)

Написать промежуточную бибилиотеку для трансляции вызовов c-style в вызовы Qt, хотя мозг там можно сломать окончательно :)

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

> Это уже добрая воля девелоперов. В конце концов, на оригинальный GTK+ можно вообще забить :) Ну это я так, всё равно фантазирую.

Не увлекайся только ;)

mv ★★★★★
()
Ответ на: комментарий от Aceler

> Написать промежуточную бибилиотеку для трансляции вызовов c-style в вызовы Qt, хотя мозг там можно сломать окончательно :)

И ради чего?

mv ★★★★★
()

> мечтают увидеть отрисовку виджетов полностью на OpenGL,

Они офигели??? Пусть подумают хотя бы про телефоны (любые гаджеты не на Cell/CoreQuad), в которых пускаются гтк-приложения. Какое там нафиг опенгл? Чтобы по три часа ждать появление интерфейса приложения, а потом срочно бежать искать подзарядку, так как такое извращение жрёт ресурсы только так.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.