Интернет магазин китайских планшетных компьютеров



Компьютеры - GNOME - Архитектура

04 июня 2011


Оглавление:
1. GNOME
2. Происхождение
3. Организация
4. Архитектура
5. Пользовательские приложения
6. Версии
7. Критика



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

В основном GNOME написана на языке Си, однако для библиотек GNOME существуют механизмы, позволяющие использовать их из других языков. Поэтому многие приложения для GNOME пишутся на языках C++, Python, C# и других.

GTK+

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

  • GLib — библиотека удобных функций для программирования на Си;
  • GObject — объектно-ориентированный каркас для программирования на Си;
  • ATK — библиотека специальных возможностей для пользователей c физическими ограничениями;
  • Pango — библиотека для вывода текста в широком спектре письменностей.

GTK+ написан на Си, однако в последнее время всё больше GNOME-приложений разрабатываются на языках более высокого уровня. Это стало возможным благодаря тому, что в GTK+ изначально предусмотрена возможность относительно простого построения интерфейсов для других языков. Официальными надстройками над GTK+ являются gtkmm, PyGTK, gtk2-perl и java-gnome.

Взаимодействие между приложениями

Считается, что когда Мигель де Икаса создавал проект GNOME, он находился под впечатлением от компонентных технологий компании Microsoft. Планировалось сделать аналогичные технологии важной частью GNOME. Технология CORBA реализована в GNOME в виде брокера ORBit. Средства для создания графических компонентов, поддержки составных документов предоставляются библиотекой Bonobo.

Сегодня основным средством взаимодействия между приложениями является D-Bus — облегчённый механизм межпроцессного взаимодействия, специально разработанный для настольного применения. От использования CORBA и Bonobo планируется отказаться.

Графика и мультимедиа

В качестве графических и мультимедиа-инструментов в GNOME используются некоторые проекты freedesktop.org.

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

Технология GStreamer обеспечивает «прозрачную» работу с аудио и видео различных форматов — ввод, обработку и вывод. Её используют, в частности, мультимедиапроигрыватель Totem и программа извлечения аудио с компакт-дисков Sound Juicer.

Poppler — библиотека отображения PDF-документов, основанная на xpdf. Она используется приложением просмотра документов Evince.

Tango Desktop Project — это попытка создать единый визуальный стиль для свободного программного обеспечения, в первую очередь в области значков. Официальная тема значков GNOME следует рекомендациям проекта Tango по внешнему виду значков, а также соответствует спецификациям наименования значков freedesktop.org.

Настройка среды

Начиная с GNOME 3.0, для хранения системных настроек используется фреймворк GSettings, основанный на формате файлов dconf. GSettings используется для хранения настроек среды и приложений и отслеживания их изменений. Для пользователя и приложений они представляются в виде единого «дерева» опций, подобно реестру Windows. Кроме того, GSettings позволяет системным администраторам ограничить изменение тех или иных настроек, сделав их обязательными для пользователей. Настройки можно изменять через Центр управления или через редактор dconf-editor. Приложения, использующие GSettings, могут предоставлять описания для отдельных опций, которые затем могут быть переведены на другие языки в рамках общего процесса локализации среды. В предыдущих версиях GNOME вместо GSettings использовался GConf.

Другие технологии

  • gettext — инструментарий, используемый для интернационализации и локализации среды.
  • GVFS — виртуальная файловая система, предоставляющая унифицированный доступ к различным видам файловых хранилищ.
  • Mutter — менеджер окон.
  • GNOME Keyring — система хранения конфиденциальных данных.
  • LibXML — библиотека для работы с XML.
  • LibGDA — GNOME Data Access.


Просмотров: 5723


<<< Git
GNOME Commander >>>