GTK3

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Re: GTK3

Сообщение WAYFARER » 19.12.2025 17:44:57

sts писал(а):Завершено портирование GIMP на GTK3
20.04.2023 09:36

Я думаю что это промежуточная версия между gtk2 и gtk4 ввиду того что gtk4 сильно ушла от gtk2.
Но, боюсь GIMP на GTK4 мы увидим когда он уже успеет устареть как GTK3 сейчас.
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: GTK3

Сообщение sts » 20.12.2025 13:31:44

WAYFARER писал(а):боюсь GIMP на GTK4 мы увидим когда он уже успеет устареть как GTK3 сейчас.

вообще очень странно что таки проблемы стабилизировать апи, ладно первая версия, ладно вторая, но третья-то должна быть стабильна и переход на 4 должен заключаться в перекомпиляции и опциональных доработок по желанию.
ничего такого особенного в апи уи нету. или у них там вообще очень низкая квалификация у разработчиков или специально воду мутят

Добавлено спустя 2 минуты 40 секунд:
говорят что раньше разработчики божились что переход с 4 на 5 будет прозрачным а теперь мол также все переписывать надо будет и забавный список приложений уходящих на qt
sts
энтузиаст
 
Сообщения: 513
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: GTK3

Сообщение RRYTY » 21.12.2025 14:09:23

sts писал(а):ничего такого особенного в апи уи нету. или у них там вообще очень низкая квалификация у разработчиков или специально воду мутят


Конечно, низкая. Целыми днями молятся, чтобы некий sts отвлекся от форума да научил бы детей.
RRYTY
постоялец
 
Сообщения: 253
Зарегистрирован: 25.12.2021 10:00:32

Re: GTK3

Сообщение sts » 22.12.2025 11:56:17

RRYTY писал(а):Конечно, низкая. Целыми днями молятся, чтобы некий sts отвлекся от форума да научил бы детей.

раз все с ней хорошо то почему они не стабилизировали апи в gtk2? ведь все требования к обобщенному апи уи в 2002 году были общеизвестны, с тех пор, из нового, это требования к анимации, вот только это надстройка, и да, она требует переписывания приложения но только если ее надо добавить, если нет то достаточно перекомпилить под новую версию.
sts
энтузиаст
 
Сообщения: 513
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: GTK3

Сообщение WAYFARER » 24.12.2025 16:39:06

sts писал(а):раз все с ней хорошо то почему они не стабилизировали апи в gtk2? ведь все требования к обобщенному апи уи в 2002 году были общеизвестны, с тех пор, из нового, это требования к анимации, вот только это надстройка, и да, она требует переписывания приложения но только если ее надо добавить, если нет то достаточно перекомпилить под новую версию.


Проблема в том, что GTK2 и GTK3 имеют очень ограниченную совместимость (часть API удалена, часть помечена deprecated, добавлены CSS-стили вместо gtkrc, Cairo вместо старой отрисовки). А с GTK4 еще сложнее, это полный разрыв с прошлым GTK(сцено-ориентированный GPU-рендеринг (snapshot вместо прямого draw), новая модель ввода (event controllers вместо GdkEvent), layout-менеджеры отделены от контейнеров, убрано множество legacy-виджетов и API, Wayland-first и так далее). Короче, что в первом, что тем более во втором случае портирование это почти полное переписывание интерфейса.

Выражаясь метафорами:
GTK2 и GTK3 один вид с эволюционными изменениями, а GTK4 новый подвид после экологического сдвига (GPU, Wayland). ДНК общее, фенотип другой.

Добавлено спустя 30 минут 46 секунд:
sts писал(а):забавный список приложений уходящих на qt

Не думаю. qt и gtk это разные парадигмы.
Для кроссплатформенного энтерпрайза берут Qt, для разработки нативных GNOME приложений берут GTK. Ниши не пересекаются.
По этой самой причине не будет никакой миграции с gtk на qt никогда.

Добавлено спустя 14 минут 3 секунды:
sts писал(а):проблемы стабилизировать апи

API стабилен в рамках мажорной версии. И в 2, и в 3 и в 4. Просто они осознанно несовместимы.

Добавлено спустя 16 минут 24 секунды:
И GIMP кстати хороший пример того, что GTK плохо подходит для UI, который 20 лет эволюционирует без переосмысления дизайна, десятки панелей, доков, плавающих окон (в том числе модальных) и все это работает криво.
GTK это про лаконичность и функциональность, а не про комбайны типа GIMP.

Добавлено спустя 13 минут 5 секунд:
А если смотреть в рамках LCL, то тут все очень грустно...
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: GTK3

Сообщение sts » 24.12.2025 18:12:18

WAYFARER писал(а):Проблема в том, что GTK2 и GTK3 имеют очень ограниченную совместимость

о том и речь, почему так получилось что пришлось менять апи если нового ничего нет, в мире уи, окромя анимации которая расширяет апи а не меняет его.

Добавлено спустя 1 минуту 11 секунд:
WAYFARER писал(а):Просто они осознанно несовместимы.

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

WAYFARER писал(а):layout-менеджеры отделены от контейнеров

странно что этого не было в gtk2, необходимость этого разделения была уже известна в конце 90х, стратегическая ошибка vcl была как раз в прибитом механизме выравнивания, но это хотя бы объяснимо тем что проектировали до 95 года, когда резиновый интерфейс стал базой.

Добавлено спустя 39 секунд:
можно было нормально спроектировать и потом расширять
sts
энтузиаст
 
Сообщения: 513
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: GTK3

Сообщение WAYFARER » 24.12.2025 18:44:41

sts писал(а):и, окромя анимации которая расширяет апи а не меняет его.

Так нет же. GTK 3 сделали вместо GTK 2, чтобы расчистить устаревший и X11-жёстко привязанный фундамент (drawing, темы, API) и подготовить GTK к Wayland и будущему развитию.
GTK 4 сделали вместо GTK 3, потому что старую виджетно-императивную архитектуру уже невозможно было совместить с GPU-рендерингом, Wayland-first моделью, анимациями и предсказуемым современным UX без полной смены архитектуры.
Старая архитектура физически перестала масштабироваться под современные требования.
Можно конечно было поддерживать старую модель и параллельно развивать новую, как в Qt, но здесь совсем другая философия.

sts писал(а):и зачем вредить разработчикам использующим гтк непонятно

Здесь нет вреда. Есть сделать чисто и правильно под новую эпоху и её требования.

sts писал(а):можно было нормально спроектировать и потом расширять

Нельзя. Они все соответствуют требованиям времени.
GTK 2 сделали под X11 и CPU-рендеринг своего времени, GTK 3 чтобы расчистить устаревший фундамент (drawing, темы, X11-зависимости) и подготовиться к Wayland, а GTK 4 потому что даже очищенную модель уже нельзя было совместить с GPU-сценами, анимациями и современным UX без смены архитектуры.

Ну и как я уже сказал, не надо выбирать GTK если не пишешь нативные GNOME приложения.
Выбирай Qt).
А в рамках Lazarus/LCL мы можем только молча выбрать то что есть((
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: GTK3

Сообщение sts » 24.12.2025 19:29:41

WAYFARER писал(а):Так нет же. GTK 3 сделали вместо GTK 2, чтобы расчистить устаревший и X11-жёстко привязанный фундамент (drawing, темы, API) и подготовить GTK к Wayland и будущему развитию.
GTK 4 сделали вместо GTK 3, потому что старую виджетно-императивную архитектуру уже невозможно было совместить с GPU-рендерингом

это говорит о не правильно спроектированном апи, вон вин32апи стабилизированного в 93 году ничего не мешает рендерить гпу, переделка нужна только для анимации

Добавлено спустя 3 минуты 42 секунды:
былбы там нормальный механизм тем, а не та заготовка из винхп то он полностью решал бы проблему избыточных графических операций.
sts
энтузиаст
 
Сообщения: 513
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: GTK3

Сообщение WAYFARER » 25.12.2025 08:42:14

sts писал(а):это говорит о не правильно спроектированном апи

Это говорит о разных подходах.
sts писал(а): вон вин32апи стабилизированного в 93 году ничего не мешает рендерить гпу

Вот вообще плохой пример. Win32 сам не умеет GPU-рендеринг, а лишь даёт окно для DirectX-слоёв поверх, и это п*ц потому, что современный UI в Windows это нагромождение несовместимых надстроек над API 90-х, где архитектурную целостность десятилетиями подменяли костылями ради обратной совместимости. Слои никогда не проектировались для совместной работы, GDI никогда не планировался для GPU, DirectX не проектировался как UI-тулкит, DWM добавили спустя десятилетия. И всё это стыкуются адаптерами, а не общей архитектурой (потому что её там вообще нет).

В этом плане хороший пример - QT. Тоже куча легаси, но легаси изолирован, старые API не мешают новым. Там легаси не является архитектурным якорем.

А GTK - это про архитектурную чистоту любой ценой. И это круто).
Проблемы будут только тогда, когда GTK был использован там, где он не подходит. Пример - GIMP. Для GIMP GTK означает постоянную гонку за тулкитом вместо развития продукта. И гонку эту они всегда будут проигрывать.
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: GTK3

Сообщение sts » 25.12.2025 13:17:33

WAYFARER писал(а):Вот вообще плохой пример. Win32 сам не умеет GPU-рендеринг

Вы походу не понимаете о чем я пишу, естественно Win32 не рендерит при помощи гпу, в том смысле в котором вы имеете ввиду, сцены и т.д., такто он ускоритель использует, речь о том что, если надо добавить то не надо будет менять апи, окромя его расширения типа добавления тем, и небольших переделок, которые эти темы требуют, которые и так были сделаны. Прикладных разработчиков, коснется вопрос в части ownerdraw, темы сами по себе требуют, без всяких гпу, отказаться от ownerdraw, понятное дело, с заменой на спец апи по формированию стилей отрисовки (тут надо знать как темы работают).

WAYFARER писал(а):GDI никогда не планировался для GPU

Как раз GDI специально спроектирован так что ему все равно кто будет рендерить, даже удаленно, благодаря GDI виндовый RDP на голову выше других. Да, бывает, по незнанию, на прикладном уровне, его не всегда используют согласно регламенту.

WAYFARER писал(а):DirectX не проектировался как UI-тулкит

Он и не должен был, его задача управлять загрузкой ГПУ. Там проблема в другом, ГПУ изначально не предназначены для рендерига ГУИ, ГУИ требует высокой точности отрисовки, а ГПУ халтурит, криво округляет, теряет пиксели и т.п., для игр это несущественно, а нагрузка на ГПУ меньше. Потом это более менее исправили. Еще ГПУ были сильно ограничены в количестве контекстов рендеринга (DirectXу все равно), а тут надо на каждое окно свой контекст, потом это порешали с разработчиками ГПУ.
Опять же это не имеет значения, апи ГУИ от этого не зависит.
WAYFARER писал(а):DWM добавили спустя десятилетия. И всё это стыкуются адаптерами, а не общей архитектурой (потому что её там вообще нет).

О том и речь, архитектура винапи, не смотря на свою древность, позволяет, с минимальными доработками, рендерить на гпу, а апи гтк2 который создан когда все требования а нему были известны, почемуто требуется заменить.
sts
энтузиаст
 
Сообщения: 513
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: GTK3

Сообщение WAYFARER » 25.12.2025 18:46:56

Окей. На самом деле нефиг тут спорить. Вы просто не понимаете что это за инструмент и зачем он нужен, а потому сравниваете его с Win32. А здесь все просто.
Здесь GNOME фактически задаёт направление развития GTK, потому что GTK это инструмент платформы GNOME, а не нейтральный тулкит. Архитектурные решения идут от GNOME.
Переходы вроде GTK4 продиктованы целями GNOME. А GNOME это сознательный выбор архитектурной чистоты и целостности платформы, даже если за это приходится платить совместимостью.
GTK предназначен прежде всего для разработчиков, которые делают нативные приложения под экосистему GNOME и Linux в целом, где важны архитектурная чистота, единый UX и интеграция с платформой. И больше ни для кого.

А Win32 наоборот. Максимальная совместимость в ущерб архитектуре. И MS рад был бы выкинуть это все дерьмо нафиг, но не может, потому что миллионы программ должны работать.

sts писал(а):архитектура винапи

Там нет архитектуры. Это исторический набор API, а не целостная архитектурная система. Набор из нескольких несовместимых слоев.
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: GTK3

Сообщение sts » 25.12.2025 20:01:33

WAYFARER писал(а):Окей. На самом деле нефиг тут спорить. Вы просто не понимаете что это за инструмент и зачем он нужен, а потому сравниваете его с Win32. А здесь все просто.

Вы же не понимаете что вам пишут, винапи упоминается лишь как пример что если апи нормально спроектирован то его не надо менять чтобы решить те задачи которые решает gtk сменяя версии. Вы подтверждаете подозрение что разработчики gtk специально меняют апи, намеренно создавая проблемы разработчикам приложений чтобы заставить их их переписывать.
sts
энтузиаст
 
Сообщения: 513
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: GTK3

Сообщение RRYTY » 25.12.2025 21:18:37

sts писал(а):разработчики gtk специально меняют апи, намеренно создавая проблемы разработчикам приложений чтобы заставить их их переписывать


А зачем это разработчикам gtk?
RRYTY
постоялец
 
Сообщения: 253
Зарегистрирован: 25.12.2021 10:00:32

Re: GTK3

Сообщение sts » 26.12.2025 11:17:32

RRYTY писал(а):А зачем это разработчикам gtk?

Насколько я понял WAYFARER чтобы заставить переписывать для максимального соответствия новым идеям gtk, т.е. что бы не было ситуации когда часть программ работает по старому, на новом апи, а часть по новому.
sts
энтузиаст
 
Сообщения: 513
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: GTK3

Сообщение WAYFARER » 26.12.2025 12:23:48

sts писал(а):т, винапи упоминается лишь как пример что если апи нормально спроектирован то его не надо менять

WinAPI устарел и вообще не рекомендуется к использованию самой Microsoft, он существует только для того что бы старые приложения могли работать. Больше ни для чего.
Здесь нет никакого "Нормального проектирования", есть контракт, который гласит что старые приложения будут работать. Для самой MS такая ситуация = фрагментация стэка, отсутсвие единой архитектуры, рост технического долга и торможение инноваций на уровне платформы. Но им нельзя по другому, потому что это платформа обратной совместимости для чужого софта. Они не могут как Apple сказать "карбон умер - переписывайте всё заново", потому что на Windows держатся миллионы бизнес и гос систем. Windows продаётся обещанием что всё старое будет работать.
И причина только в этом. Какое здесь нафиг нормальное проектирование?

А GTK это сознательная попытка избежать всего того дерьма, в которое превратился Win32, за счёт жёсткой архитектуры, единой модели UI и готовности ломать совместимость.

Win32 - совместимость любой ценой. Миллионы программ для windows должны работать. Любой ценой. Даже если это будет архитектурная помойка которую становится все сложнее поддерживать и развивать.
Qt - компромисс и развитие. Он даёт целостную, высокоуровневую и кроссплатформенную архитектуру UI вместо набора разрозненных низкоуровневых API, и позволяет развивать приложение годами без постоянного переписывания интерфейса. Вот это уже про правильное проектирование.
GTK - чистая архитектура, даже если очень больно. Не используется там где используются два предыдущих. Цель и назначение другие. И это тоже про правильное проектирование, но с другим, почти бескомпромиссным подходом.

Добавлено спустя 2 минуты 13 секунд:
sts писал(а):
RRYTY писал(а):А зачем это разработчикам gtk?

Насколько я понял WAYFARER чтобы заставить переписывать для максимального соответствия новым идеям gtk, т.е. что бы не было ситуации когда часть программ работает по старому, на новом апи, а часть по новому.


Грубо, утрированно, но в целом верно.

Добавлено спустя 8 минут 35 секунд:
GTK исходит из принципа, что если архитектура изменилась, то код тоже должен измениться.
Иначе старые паттерны продолжают жить, платформа распадается на стили, а архитектура деградирует (как Win32).
GTK это платформа GNOME, а не нейтральный тулкит, а GNOME нужен однородный UX и поведение.
Последний раз редактировалось WAYFARER 26.12.2025 12:35:12, всего редактировалось 1 раз.
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Пред.След.

Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1