LINUX.ORG.RU

Анонс Gtk 4.0 и новый план выпуска и нумерации будущих версий тулкита

 ,


2

3

В блоге разработчика GNOME и Gtk Allison Lortie (desrt) опубликована запись с заголовком «Gtk 4.0 is not Gtk 4». Это отчёт с GTK hackfest, который состоялся 13 июня в Торонто, где команда разработки Gtk сделала несколько громких заявлений о будущем тулкита.

Цикл разработки одной мажорной версии Gtk составит 2 года, после чего её объявят стабильной и перейдут к разработке новой мажорной версии, не совместимой с предыдущей. Каждые два года очередной выпуск Gtk будет увеличивать мажорное число версии (4.0, 5.0, 6.0).

Каждые полгода будет выходить новый минорный релиз Gtk, увеличивая минорное число версии на два (4.2, 4.4 и 4.6). Каждый из них будет иметь несовместимые с предыдущими версиями API и ABI.

Каждый четвёртый релиз одной мажорной версии (4.6, 5.6, 6.6) будет стабилизировать API этой версии. Например, после релиза 4.6 API Gtk 4 становится стабильным и не меняется с выходом последующих релизов. Это то, что имеется в виду в заголовке записи: Gtk 4 – это скорее 4.6, чем 4.0. После версии x.6 последует версия y.0, снова ломающая обратную совместимость, и так далее.

Gtk 3 продолжат разрабатывать до тех пор, пока не выйдет его стабильная версия. По словам Allison Lortie, ею может стать 3.26.

Мажорные версии можно будет установить и использовать параллельно (Gtk 3, 4, 5 и т. д. будут работать так же, как сейчас Gtk 2 и 3). Минорные также будут работать параллельно, но devel-версии пакетов будут между собой конфликтовать.

Причинами изменения политики версионизации является ломание совместимости API/ABI даже внутри ветки gtk 3.х при минорных обновлениях, необходимость выработки стабильного API, и следующая из этого бессмысленность текущей системы версий.

Данный план не является окончательным, поскольку необходимо произвести обсуждение и согласование с GNOME release team и разработчиками дистрибутивов. Скорее всего, это случится за пару месяцев, накануне конференции GUADEC.

>>> Оригинальная запись

Ответ на: комментарий от quantum-troll

Да конечно. Тут из новости можно сделать вывод, что api будет ломаться каждые пол года. Однако в оригинале это не так и ломаться он будет только в тестовых версиях.

Polugnom ★★★★★ ()

Новость похожа на первоапрельскую. Они там окончательно поехали.

Надеюсь, разработчики и правда будут уходить с этого убожества на что-то другое (будь то Qt или что-то менее популярное). Пока оно не останется в одном только гноме, «веселуха» будет та ещё. И для разработчиков и для пользователей. Мало было gtk3, где каждый минорный релиз надо было чинить темы…

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

Где это написано? Там написано, что каждые 6 месяцев будут всё ломать, в предыдущая мажорная версия будет в статусе нынешнего гтк2.

We expect that GNOME applications will do this

будет забавно, когда гном перейдёт на Qt.

anonymous ()

А разработчики будут заниматься обеспечением совместимости с новыми версиями?

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

Each successive minor version will be growing toward a new stable API. Before each new “dot 0” release, the last minor release on the previous major version will be designated as this “API stable” release. For Gtk 4, for example, we will aim for this to be 4.6 (and so on for future major releases). Past this point there will not be disruptions; this “stable API” will be very stable. There will certainly not be the kind of breaks that we have seen between recent Gtk minor releases.

Polugnom ★★★★★ ()

Каждый из них будет иметь несовместимые с предыдущими версиями API и ABI.

Вся суть GовноTK. Впрочем у Qt ситуация не лучше.

StReLoK ☆☆ ()
Ответ на: комментарий от Polugnom

в статусе нынешнего гтк2

появятся гтк4, гтк5, гтк6 гтк7, гтк8, гтк9, гтк10, гткнекст, гткнекст2 и так далее.

anonymous ()

В толксах уже обсудили, ну вы и слоупоки.

vurdalak ★★★★★ ()

верной дорогой идут

4 по-китайски произносится как «смерть»

anonymous ()

И что теперь будет с Xfce? Оно же вроде на GTK основано... Как теперь будет выглядеть дальнейшая разработка и поддержка текущих версий? Что-то как-то не по-себе от такой новости...

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

Qt4 и Qt5 совместимы на уровне API. Все мои программы компилируются и тем и другим. Внутри мажорных версий есть обратная совместимость на уровне ABI. Если это «не лучше», то что тогда лучше?

fenris ★★★★★ ()

Весело. Скоро еще и Qt6 выйдет и наступит полный развал.

RazrFalcon ★★★★★ ()

Очень жаль, что gtk из gimp-toolkit'a превратился в gnome-toolkit. RIP. Просто неудачное стечение обстоятельств, не то чтобы он всегда был отстоем.

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

Основных вывода всего два:
1. Разработчики GTK не понимают или не хотят понимать стратегии разработки ПО в течении долгого времени
2. Из всех возможный вариантов версионирования они придумали наиболее упоротый

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

Тебе нужно перестать бояться и полюбить плюсы :)

robus ★★★★ ()
Ответ на: комментарий от ya-betmen

В том, что надо быть полиглотом, чтобы написать биндинг. Разобраться в плюсовом кутэ, запилить с-обертку, запилить биндинг поверх обертки. Потом все это поддерживать)

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

Интересно, какой проект следующим сбежит на другой тулкит?

GNOME :)

l-_-l ()
Ответ на: комментарий от quantum-troll

и для многих языков (например, для раста) нет полноценных биндингов

раст ненужен, используй QML/JS

anonymous ()

Цикл разработки одной мажорной версии Gtk составит 2 года, после чего её объявят стабильной и перейдут к разработке новой мажорной версии, не совместимой с предыдущей.
Каждые два года очередной выпуск Gtk будет увеличивать мажорное число версии (4.0, 5.0, 6.0).

А номер версии будет соответствовать глубине, на которую её закопают, в метрах.

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

Qt4 и Qt5 совместимы на уровне API.

Нет. Qt5 обратно совместим с 4. Qt4 несовместим с Qt5. Тут тебе и новый connect, и QtQuick2, и классы QOpenGL*, и много чего ещё.

robus ★★★★ ()

Так в Канаде ж легалайз, чему тут удивляться.

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

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

Пользователям сложно оправиться после предыдущих революций. А если для пользователя что-то сложно — оно выпиливается.

h578b1bde ★☆ ()
Последнее исправление: h578b1bde (всего исправлений: 1)
Ответ на: комментарий от s13

Ой я даже не знаю, я пока что с 5 кед на openbox перешел, пусть допиливают :(

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

Они слышали про major-minor-patch?

У них там своя атмосфера нумерация версий.

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

А в культях css можно юзать? А то я вот пишу свою панельку на питоне и у меня внешний вид любого элемента меняется через css, очень удобно.

MLP_Fan ★★ ()

По ссылке никто не ходил.
Дополнил новость предпоследним абзацем, хотя наверное его следует сделать вторым...

shahid ★★★★★ ()

Вижу будущее гномопоклонников в LTS дистрах, пока остаток разрабов не убежит.

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

И что теперь будет с Xfce? Оно же вроде на GTK основано...

Оно так - куски на 2м, куски на 3м (версия 4.12). С учетом того, что там активных разработчиков - полторы калеки, жопа будет.

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

Надеюсь, разработчики и правда будут уходить с этого убожества на что-то другое

Я надеюсь, что или они там в GNOME одумаются, или кому-то удастся начать пилить что-то в духе каноничного GTK на Си. Насколько я понимаю, самая большая сложность этой затеи - это бекенды: Xlib, Windows,.. Скорее всего выберут OpenGL (т.к. работать будет везде), а потом уже можно будет (при очень большом желании) добавить остальные. Лишь бы их API было учтено при дизайне API-бекенда к OpenGL.

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

Из виджетов выкинули только какой-то аутентичный Ruler

Да, был когда-то GTK (GIMP Toolkit) с Ruler'ом, а потом объявили, что они GTK, просто GTK и выкинули Ruler как «слишком специфичный». И пришлось в GIMP'е его вставлять отдельно.

А ещё был GtkFileSelection. И ещё кое-что. Так что работы будет достаточно, но выполнимо.

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

Да чего Вы беспокоитесь? Будут выпускать единым пакетом flatpak или appimage со всеми зависимостями внутри, как на windows.

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

Qt4 и Qt5 совместимы на уровне API.

Ну твои хэлловорды может и компилятся. 4 и 5 культи на уровне апи совместимы на уровне 2 и 3 гтк. То есть хэлловорлд соберется, да. Я в свое время даже не заметил, что пишу га гтк2 по учебнику 3, когда учил гтк. Но сломали и там, и там много чего.

anonymous ()

Причинами изменения политики версионизации является ломание совместимости API/ABI даже внутри ветки gtk 3.х при минорных обновлениях, необходимость выработки стабильного API, и следующая из этого бессмысленность текущей системы версий.

А просто не ломать апи — это не вариант?

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

Ну это он приукрасил, но на практике достаточно заменить переименованные хидеры и выкинуть «давно депрекейтед» логику.

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

Да, был когда-то GTK (GIMP Toolkit) с Ruler'ом, а потом объявили, что они GTK, просто GTK и выкинули Ruler как «слишком специфичный». И пришлось в GIMP'е его вставлять отдельно.

https://developer.gnome.org/gtk2/stable/GtkRuler.html

Что там кто выкинул?

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

Сам-то читал, что постишь?

This widget is considered too specialized/little-used for GTK+, and will be removed in GTK 3. If your application needs this widget, feel free to use it, as the widget is useful in some applications; it's just not of general interest. However, we are not accepting new features for the widget, and it will move out of the GTK+ distribution.

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

запилить с-обертку, запилить биндинг поверх обертки. Потом все это поддерживать)

А можно просто переписать на плюсы

ya-betmen ★★★★★ ()
Ответ на: комментарий от fluorite

Полная кастомизация виджетов через stylesheets гарантирует боль

Почему? Моя панель на гтк полностью кастомизируется через 8 классов.

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

кастомизируется через 8 классов.

А ещё через три класса ты закончишь школу, и поймёшь, что сделал ещё одну никому не нужную панель.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.