GNOME Project выпустила четвёртую версию кроссплатформенной библиотеки элементов интерфейсов GTK. В библиотеку добавили метод раскладки элементов на основе ограничений, модуль отрисовки с API Vulkan, интегрировали GSK и удалили часть API.

За четыре года разработки команда добавила более 18 тыс. коммитов и сделала 20 ночных сборок.

Часть изменений:

  • Новый метод constraint layout определяет положение и размер элементов интерфейса относительно расстояния других элементов.
  • В GTK интегрировали Scene Kit с возможностью отрисовки графических сцен с использованием Vulkan и OpenGl.
  • Из API удалены многие классы, в том числе GtkMenu, GtkMenuBar и GtkToolbar
  • Добавлен новый объект GtkLayoutManager, предназначенный для разработки виджетов с использованием системы управления раскладкой элементов в зависимости от размера видимой области.
  • Добавлены средства для воспроизведения мультимедиа, поддержка формата WebM и потокового вещания.
  • Новый GDK бэкэнд для macOS
  • Добавлены методы для работы с drag-and-drop



Разработчики рассказали, что будут поддерживать и обновлять GTK 3 в «обозримом будущем». Они надеются, что популярные библиотеки Vte, WebKit и GtkSourceView скоро обновятся под GTK 4.0. GNOME project запланировали релиз следующей версии на лето, однако возможен перенос релиза на более ранний срок для исправлений критических проблем.

Фреймворк GTK — набор инструментов для создания графических пользовательских интерфейсов. Он появился как часть редактора GIMP, потом вырос в отдельный проект с лицензией GNU LGPL. GTK — основа для разработки GNOME. Также фреймворк используют для написания приложений под другие среды Linux, Windows и macOS.