22 Ноября 2024, 11:17

GTK+ 3.0.0

Автор Zhek@Ch, 15 Февраля 2011, 10:23

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Zhek@Ch

15 Февраля 2011, 10:23 Последнее редактирование: 15 Февраля 2011, 10:31 от Zhek@Ch
Увидел свет первый стабильный релиз новой ветки интструментария для создания графического интерфейса пользователя - GTK+ 3.0.0. Ключевым изменением новой ветки является значительная переработка программного интерфейса, которая вылилась не только в расширении API, но и в его чистке и реструктуризации - удалены признанные устаревшими элементы API, все "public" структуры переведены в область видимости "private". Ценой нарушения обратной совместимости с прошлыми версиями Gtk стало повышение производительности и уменьшение размера библиотеки.

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

  • Полностью независимый от экрана рендеринг - все функции отрисовки переведены на использование векторной графической библиотеки Cairo и больше не задействуют для вывода на экран устаревший API системы X11. Вывод в GTK+ 3 полностью абстрагирован от типа графических подсистем. Также были убраны некоторые другие концепции, специфичные для X11, такие как colormaps и pixmaps;
  • Поддержка новых устройств ввода за счёт использования по умолчанию подсистемы X Input 2, позволяющей обеспечить полную поддержку множественных указателей, клавиатур и других гаджетов. Ранее поддержка работы с устройствами ввода была развита недостаточно и потребовала переработки;
  • Новый 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.