Релиз GTK+ 3.0.0

Увидел свет первый стабильный релиз новой ветки интструментария для создания графического интерфейса пользователя — GTK+ 3.0.0. Ключевым изменением новой ветки является значительная переработка программного интерфейса, которая вылилась не только в расширении API, но и в его чистке и реструктуризации — удалены признанные устаревшими элементы API, все «public» структуры переведены в область видимости «private». Ценой нарушения обратной совместимости с прошлыми версиями Gtk стало повышение производительности и уменьшение размера библиотеки.

Из базовых изменений GTK+ 3.0 можно отметить:

  • Полностью независимый от экрана рендеринг — все функции отрисовки переведены на использование векторной графической библиотеки Cairo и больше не задействуют для вывода на экран устаревший API системы X11. Вывод в GTK+ 3 полностью абстрагирован от типа графических подсистем. Также были убраны некоторые другие концепции, специфичные для X11, такие как colormaps и pixmaps;
  • Поддержка новых устройств ввода за счёт использования по умолчанию подсистемы X Input 2. GTK+ 3.0 двигается в сторону современного окружения X12 с полной поддержкой множественных указателей, клавиатур и других гаджетов. Ранее поддержка работы с устройствами ввода была развита недостаточно и потребовала переработки;
  • Новый API для формирования визуальных тем, описание стиля в котором задаётся в CSS-подобном представлении с возможностью смены стиля на лету, анимированного отражения изменения состояний и т.п.;
  • Более гибкое управление геометрией c поддержкой соотношений высота-ширина для виджетов и обработчиков отрисовывания ячеек. Обеспечение независимости от экранного разрешения, благодаря адаптивной прорисовке, оптимальной для текущих параметров экрана, таких элементов, как виджеты и шрифты. На системах с большим или низким разрешением, все элементы автоматически будут иметь размер соизмеримый с размером экрана, не требуя ручной настройки шрифтов, пиктограмм и других элементов интерфейса;
  • Поддержка работы с несколькими GDK-бэкэндами (GIMP Drawing Kit). Для GTK+ 2.x для работы с другим бэкэндом необходимо было перекомпилировать приложение. В GTK+ 3 несколько GDK-бэкэндов могут быть собраны в одну библиотеку и выбираться во время выполнения программы. Добавлена поддержка бэкенда, обеспечивающего возможность работы поверх дисплейного сервера Wayland, который в будущем вместо классического X-сервера будет использован в Linux-дистрибутивах Ubuntu и MeeGo. В разработке находится HTML5-бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ 3 в окне web-браузера. Также добавлен бэкенд для Mac OS X фреймворка Quartz и прекращена поддержка DirectFB;
  • Поддержка «лёгких» (прим. пер.: «минимизация кода») приложений. После внедрения поддержки D-Bus в GIO разработчики смогли добавить класс GtkApplication, который управляет многими рутинными аспектами интеграции приложений на уровне платформы при их написании, а именно: отслеживание открытых окон, проверка на уникальность, действия по экспорту и т.п.;
  • Добавлено несколько новых виджетов, таких как Switch и Application chooser.

GTK+ — мультиплатформенный инструментарий для создания графических интерфейсов пользователя. Предлагая полный набор виджетов, GTK+ подходит для различных проектов от самых маленьких до полноценных программных пакетов. GTK+ был разработан с нуля для поддержки разных языков, не только C/C++. Использование GTK+ на таких языках, как Perl и Python (особенно в комбинации с Glade GUI builder) обеспечивает эффективный метод для быстрой разработки приложений (RAD).

GTK+ — свободное программное обеспечение и часть проекта GNU. Однако, положения лицензии GNU LGPL позволяют использование GTK+ всеми разработчиками, включая разработку проприетарного программного обеспечения без лицензирования и выплат отчислений. GTK+ — полностью бесплатный, свободный инструментарий графических интерфейсов промышленного уровня, доступный на сегодняшний день. С тех пор, как GTK+ был разработан в рамках проекта GNU Image Manipulation Program (GIMP), GTK+ используется в большом диапазоне программного обеспечения. В частности, на GTK+ основан рабочий стол GNOME. GTK+ 3 будет включён в третью версию GNOME.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.