Различия в GLib, Gtk+, GObject, Atk, GIO

Каковы различия или отношения этих библиотек / терминов в разработке GNOME?

1 ответ

Решение

Все это библиотеки, разработанные проектом GNOME. По сути, они являются строительными блоками приложений, предназначенных для работы в среде GNOME или любой другой среде рабочего стола, в которой используются эти библиотеки.

  • Gtk: набор инструментов / библиотеки виджетов для создания интерфейсов GUI (окон и их содержимого), аббревиатура для GIMP Toolkit. Используется GNOME и другими рабочими столами, такими как XFCE, Unity, Cinnamon, Mate. Цитировать документацию:

    GTK + - это основная библиотека, используемая для создания пользовательских интерфейсов в приложениях GNOME. Он обеспечивает управление пользовательским интерфейсом и обратные вызовы сигналов для управления пользовательскими интерфейсами.

  • GLib: библиотека расширенных структур данных (), программных интерфейсов и средств IPC. Цитировать справочное руководство по GLib:

    GLib предоставляет основные строительные блоки приложений для библиотек и приложений, написанных на C. Он предоставляет базовую объектную систему, используемую в GNOME, реализацию основного цикла и большой набор служебных функций для строк и общих структур данных.

    GLib может использоваться независимо от GObject и Gtk.

  • GObject: aka GLib Object System, объектная библиотека (изначально предназначенная для языка программирования C, который не является объектно-ориентированным, но поскольку появились привязки ко многим другим языкам). Первоначально был частью GLib. Активно используется в Gtk и многие объекты в Gtk (такие как Gtk Window) наследуются от базового типа GObject.

  • Atk: библиотека специальных возможностей. Может рассматриваться как мост между Gtk и устройствами специальных возможностей. Цитата из документации:

    "ATK - это инструментарий, который GNOME использует для обеспечения доступности для пользователей, которым требуется дополнительная поддержка для максимально эффективного использования своих компьютеров. ATK используется такими инструментами, как программы чтения с экрана, увеличители и устройства ввода, чтобы обеспечить богатое взаимодействие с рабочим столом с помощью альтернативных средств ".

Все это также тесно связано с GIO, библиотекой ввода / вывода Gnome, которая имеет дело с информацией о файловой системе, файлами, устройствами, информацией о приложении и множеством других абстракций, которые немного облегчают жизнь разработчику приложений GNOME. Примером может служить файловый менеджер Nautilus, который использует Gtk для виджетов, кнопок и окон; GIO для запроса информации о файле и устройстве (см. Соответствующий ответ с примерами кода); GLib для файловых операций; и Atk, чтобы сделать виджеты доступными.

Смотрите также

Другие вопросы по тегам