9.6 Оконные среды, инструментарии и приложения

Предыдущая  Содержание  Следующая V*D*V

Приложения, написанные для работы непосредственно через интерфейс кадрового буфера, действительно существуют, но только простые. Так как GUI работает с большим набором форм и элементов управления, существует необходимость в абстракции. Библиотеки/уровни API, которые делают программирование GUI простым и удобным, уже в течение многих лет существуют на настольных платформах. Эти библиотеки покрывают интерфейс драйвера более простыми API, которые имеют смысл для программиста графического приложения. Эти библиотеки важны во всех оконных средах. Универсальная оконная среда состоит из:

 

Интерфейсный уровень для низкоуровневых драйверов, таких как драйверы экрана и ввода данных

Графический движок для рисования объектов на экране

Движок шрифтов, который способен декодировать один или несколько файловых форматов шрифтов и отрисовать их

API, которые предоставляют доступ к различным функциям, экспортируемым движками графики и шрифтов

 

Напомним, мы обсуждали X как оконную среду, используемую на настольных компьютерах с Linux. X-lib является уровнем API, предоставляемым оконной средой X. Инструментарии GUI также представляют собой библиотеки, построенные над оконными средами  для преодоления некоторых недостатков библиотеки нижнего уровня.

 

Библиотеки оконной среды зависят от платформы. Например, код приложения, написанный поверх X-lib, практически невозможно портировать на Windows. Большинство инструментов доступны на нескольких платформах, и, следовательно, делают перенос возможным. Кросс-платформенным инструментарием, доступным на различных платформах, является Qt, такой как Qt/Windows (Windows XP, 2000, NT 4, Me/98/95), Qt/X11 (X windows), Qt/Mac (Mac OS X) и Qt/Embedded (встраиваемый Linux).

API, экспортируемые библиотеками оконной среды, выполняют простые задачи. Инструментарии реализуют многие компоненты GUI/объекты и обеспечивают для них интерфейсы. Так, например, наборы инструментальных средств обеспечивают интерфейсы для часто используемых диалоговых окон, таких как "Открыть файл", "Распечатать файл", "Выбрать цвет", и так далее.

Родные виджеты слишком просты и приложения не могут изменить то, как выглядит виджет, когда они используют оконные библиотеки. Инструментарии предоставляют поддержку тем и виджетов, которые часто загружаются с такими функциями, как поддержка 3-х мерного вида, анимация и так далее.

Наиболее важным из всех являются инструментарии, предоставляющие дизайнерский GUI или инструменты Быстрой Разработки приложений (Rapid Application Development, RAD). Инструменты RAD являются основами GUI, которые предлагают интерфейс укажи-и-нажми для выполнения таких задач, как размещение виджета или определения обратного вызова. Qt предоставляет Qt Designer. Для Gtk используется Glade.

 

Наборы инструментальных средств не всегда выгодны. Некоторые из них занимают много места в вашем коде в обмен на огромный набор функций, которые они несут с собой. Существует много вариантов, когда речь идет о комбинациях оконные среды/набор инструментария для встраиваемого Linux. Наиболее популярные перечислены в Таблице 9.5. Одним из главных преимуществ инструментария Linux является то, что он предоставляет среду моделирования на ПК. Приложения могут быть разработаны и прототипизированы на рабочем столе, уменьшая таким образом время разработки и упрощая отладку. В этом разделе мы рассмотрим оконную среду Nano-X.

 

Таблица 9.5 Популярные оконные среды

 

Название

Лицензия

Комментарий

Nano-X

www.microwindows.org

GPL/MPL

Оконная среда, предоставляющая интерфейс, похожий на Win32 и X11, нацеленный на встраиваемые системы.

FLNX

www.fltk.org

LGPL

Набор инструментария FLTK, портированный поверх Microwindows

MiniGUI

www.minigui.com

LGPL

Компактная система графического пользовательского интерфейса для Linux. MiniGUI

определяет для приложений некоторые похожие на Win32 интерфейсы; предоставляет небольшую библиотеку, поддерживающую оконную систему

DirectFB

www.directfb.org

LGPL

Маленькая библиотека, которая содержит аппаратное

ускорение графики, обработку устройства ввода и абстракцию, интегрирующую

оконную систему с поддержкой

полупрозрачных окон и нескольких слоёв отображения

PicoGUI

www.picogui.org

LGPL

Новая архитектура графического пользовательского интерфейса, созданная с учётом особенностей встраиваемых систем; включает низкоуровневую графику и ввод,

виджеты, темы, уровни, отрисовку шрифтов, схему прозрачности

Qt/Embedded

www.trolltech.com/products/embedded/index.html

QPL

GPL

Оконная система для встраиваемых устройств на основе C++, предоставляющая большинство из интерфейсов Qt

GTK+/FB

www.gtk.org

LGPL

Вариант популярной оконной среды GTK+ с поддержкой кадрового буфера.

 

Предыдущая  Содержание  Следующая