Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(929)972-54-56 adm@nixm.ru

"Выпуск GTK+ 3.90 ознаменовал новый этап подготовки GTK+ 4"

Ответить
tori
Молчаливый гость
Молчаливый гость
Сообщения: 15
Зарегистрирован: 04 апр 2017, 21:11

"Выпуск GTK+ 3.90 ознаменовал новый этап подготовки GTK+ 4"

Сообщение tori »

Сообщение от opennews on 03-Апр-17, 11:10

Маттиас Класен (Matthias Clasen), лидер Fedora Desktop Team и участник GNOME Release Team, представил (https://blogs.gnome.org/mclasen/2017/03 ... penings-3/) выпуск тулкита для создания графического интерфейса пользователя GTK+ 3.90 (ftp://ftp.gnome.org/pub/gnome/sources/gtk+/3.90/), который позиционируется как тестовая ветка для подготовки будущего стабильного релиза GTK+ 4. GTK+ 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK+

В отличие от ветки 3.89.x, выпуски 3.90.x позиционируются как пригодные для создания экспериментальных портов приложений для опробования изменений API. При этом разработчики не гарантируют стабильность данного API на протяжении более 6 месяцев, так как работа над некоторыми запланированными для GTK+ 4 изменениями ещё не завершена и финальный API GTK+ 4 может измениться. Например, планируется прекратить поддержку вторичных окон (subwindows) и убрать API GtkContainer из GtkWidget. До полной стабилизации GTK+ 4 в приложениях, предлагаемых для пользователей, рекомендуется продолжить собирать с использованием ветки GTK+ 3.22, которая будет поддерживаться три года.


Из предложенных для GTK+ 4 изменений можно отметить:


- Новый модуль отрисовки на базе графического API Vulkan, в котором уже реализованы шейдеры для многих ресурсоёмких элементов CSS, применяемых в виджетах GTK+. Из ещё не готовых к применению функций отмечается отрисовка текста, которая пока реализована через Cairo;
- Интеграция GSK (https://wiki.gnome.org/Projects/GTK+/Gsk) (GTK Scene Kit) c возможностями отрисовки графических сцен через OpenGL и Vulkan. В первую очередь решено реализовать модуль отрисовки через Vulkan, а потом портировать необходимые для GSK возможности в модуль для OpenGL;- Интеграция наработок проекта Emeus (https://ebassi.github.io/emeus/) с реализацией метода раскладки элементов на основе ограничений (constraint layout (https://developer.android.com/training/ ... layout/ind...)), при котором расположение и размер дочерних элементов определяется отталкиваясь от расстояния до границ и размера других элементов. В настоящее время в GTK+ поддерживается два метода позиционирования: модель вложенных блоков (GtkBox) и расстановка элементов на основе фиксированных позиций в окне (GtkFixed, GtkLayout). Emeus предлагает третий метод, похожий на использование модели позиционирования (https://developer.apple.com/library/con ... ntation/Us...), применяемой в Apple iOS, при котором атрибуты элементов интерфейса, такие как ширина и позиция, привязываются к другим элементам;

- Поддержка спецификаций SVG- и CSS-фильтров;
- Новая (https://git.gnome.org/browse/gtk+/log/? ... sg/event-d...) модель доставки событий, которая позволит обойтись без subwindow при маршрутизации событий ввода. Необходимость реализации новой модели вызвана более активным использованием анимационных эффектов, отрисовка которых должна производиться без смены раскладки видимых элементов и, соответственно, без subwindow;


- Изменение организации работы виджетов GTK+. GtkContainer отныне не будет применяться в качестве родительского класса для контейнера и виджеты смогут иметь дочерние элементы. API для манипуляции дочерними элементами напоминает DOM: gtk_widget_get_first_child, gtk_widget_get_last_child, gtk_widget_get_next_sibling, gtk_widget_get_prev_sibling. Поддержка дочерних виджетов позволит использовать обычные виджеты вместо гаджетов и узлов CSS, представленных (https://www.opennet.ru/opennews/art.shtml?num=44092) в GTK+ 3.20. Например, для GtkSwitch подготовлены дочерние виджеты с реализацией слайдера и двух видов меток;


- Средства записи активности в GTK+ Inspector с возможностью последующего повторного воспроизведения;
- Большая чистка API.

URL: https://blogs.gnome.org/mclasen/2017/03 ... penings-3/
Новость: https://www.opennet.ru/opennews/art.shtml?num=46305
Ответить

Вернуться в «Новости из мира Linux»