Инструментальные средства создания пользовательского интерфейса.
Рост количества и многообразия интерактивных приложений, а также расширение области их применения обусловили наличие двух тенденций:
Во-первых, все существующие инструменты создания приложений стали оцениваться помимо других критериев еще и с точки зрения их пригодности для создания ПИ определенного уровня.
Во-вторых, появились инструментальные средства, специально предназначенные для проектирования и реализации ПИ.
Инструментальные средства создания ПИ могут быть отнесены к одному из следующих классов:
- системы управления ПИ (User Interface Management System - UIMS);
- инструментальные средства проектирования и разработки интерфейса (Interface Builder - IB);
- инструментальные средства разработки интерфейса (Tools&Toolkit – T&T);
- средства прототипирования интерфейса (Prototyping Tools - PT).
Система управления пользовательским интерфейсом – это интегрированный набор средств, помогающих программисту в создании и управлении различными интерфейсами пользователя. Основной концепцией UIMS является идея разделения интерфейса и прикладной программы (ее функционально наполнения).
Как правило, UIMS состоит из двух частей: одна обеспечивает разработку интерфейса, а вторая – управление пользовательским интерфейсом в процессе его работы с приложением. Многие UIMS имеют собственный язык определения интерфейса для представления требуемого диалога и генератор, который автоматически создает необходимый код из исходного описания на этом языке. В идеале UIMS должна, с одной стороны, позволять создавать различные интерфейсы для работы с одним и тем же приложением, а с другой – поддерживать один и тот же интерфейс для различных приложений.
К данному классу могут быть отнесены некоторые CASE-системы и некоторые системы типа HMI/SCADA.
Примеры UIMS-систем, доступных через Интернет (freeware):
Amulet http://www.cs.cmu.edu/~amulet (X, MS Windows)
SUIT http://www.cs.virginia.edu/~suit (платф.независ. – исп. д/обучения)
Thistle http://www.ltg.ed.ac.uk/software/thistle/index.html (Java)
WINTERP http://www.cybertribe.com/mayer/wintwrp/ (UNIX/X/Motif)
Инструментальные средства проектирования и разработки интерфейса. Этот класс образуют средства, которые обеспечивают создание интерфейса определенного (стандартизированного) типа для различных приложений, функционирующих в соответствующей операционной среде. Примерами таких средств могут служить Visual C++ и Delphi для MS Windows, Tk/TCL для Xwindows, PhotonApplication Builder (Phab) для графической среды Photon microGUI операционной системы QNX.
Некоторые представители данного класса поддерживают только этап проектирования пользовательского интерфейса и ориентированы на совместное использование с одним из инструментов визуального программирования.
CanAda http://wuarhive.wustl.edu/languages/ada/awtools/Canada/ (MS Windows/Ada)
Forms ftp://ftp.cs.ruu.nl/pub/SGI/FORMS/ (SGI GL)
MotifGuide http://www3.bc.sympatico.ca/GUIDE/ (UNIX)
Visaj http://www.ist.co.uk/visaj (Java)
Инструментальные средства разработки интерфейса близки по своим характеристикам представителям предыдущего класса, но имеют либо более ограниченные функциональные возможности, либо представляют собой набор (библиотеку) элементов, на основе которых могут быть реализованы различные варианты GUI.
Action! http://www.macromedia.com/Tools/Action/index.html
Fresco ftp://ftp.x.org/pub/R6untarred/xc/doc/hardcopy/Fresco (C++/X/UNIX)
InterViews ftp://interviews.stanford.edu (C++/X/UNIX)
Qt http://www.troll.no/qtinfo.html (Windows, Linux, Unix и др.)
YACL http://www.cs.sc.edu/~sridhar/yacl.html (Windows, OS/2, X/Motif)
Средства прототипирования предназначены для построения макета (прототипа) ПИ и для сравнительной оценки альтернативных вариантов.
Для прототипирования могут применяться графические редакторы. Специалисты применяют средство InDesign, но отзывы о нем диаметрально противоположные.
Контрольные вопросы.
1. Интерфейс программы.
2. Четыре типа программных продуктов по типу интерфейса.
3. Виды интерфейсов.
4. Эволюция ПИ.
5. Инструментальные средства создания пользовательского интерфейса.
6. Система управления пользовательским интерфейсом.
7. Инструментальные средства проектирования и разработки интерфейса.
8. Инструментальные средства разработки интерфейса.
9. Средства прототипирования.