GTK+ 3.0.0
Увидел свет первый стабильный релиз новой ветки тулкита для создания графического интерфейса пользователя - GTK+ 3.0.0.
🕛 11.02.2011, 20:09
Ключевым изменением новой ветки является значительная переработка программного интерфейса, которая вылилась не только в расширении 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+ 100% бесплатный, свободный, инструментарий графических интерфейсов промышленного уровня доступный на сегодняшний день. С тех пор, как GTK+ был разработан в рамках проекта GNU Image Manipulation Program (GIMP), GTK+ используется в большом диапазоне программного обеспечения. В частности, на GTK+ основан рабочий стол GNOME. GTK+ 3 будет включен в третью версию GNOME.