Элеме́нт интерфе́йса — примитив графического интерфейса пользователя, имеющий стандартный внешний вид и выполняющий стандартные действия.
Swing — библиотека для создания графического интерфейса для программ на языке Java. Swing был разработан компанией Sun Microsystems. Он содержит ряд графических компонентов, таких как кнопки, поля ввода, таблицы и т. д.
Windows Aero — комплекс технических решений графического пользовательского интерфейса, применяемый в операционных системах корпорации Microsoft. Впервые интерфейс Aero появился в Windows Vista в 2006 году. Операционная система Windows 7, вышедшая в 2009 году, также использует Windows Aero, однако интерфейс претерпел незначительные изменения и улучшения.
JFace — набор Java-классов, реализующий наиболее общие задачи построения GUI. В рамках проекта Eclipse библиотека JFace описывается следующим образом: «Элементы пользовательского интерфейса, реализация которых может быть утомительной». JFace представляет собой дополнительный программный слой над SWT, который реализует паттерн Model-View-Controller. JFace предоставляет следующие возможности:
- Предоставляет «Viewer» классы, отвечающие за отображение и реализующие трудоёмкие задачи по заполнению, сортировке, фильтрации, а также обновлению виджетов.
- Предоставляет «Action» классы, которые позволяют разработчику определять специфическое поведение для отдельных элементов пользовательского интерфейса, таких как пункты меню, кнопки и т. д.
- Предоставляет регистры, содержащие шрифты и изображения.
- Предоставляет набор стандартных диалоговых окон и виджетов, а также предоставляет фреймворк для создания сложного графического интерфейса для взаимодействия с пользователем.
Список языков описания пользовательских интерфейсов
Drag-and-drop — способ оперирования элементами интерфейса в интерфейсах пользователя при помощи манипулятора «мышь» или сенсорного экрана.
jQuery — набор функций JavaScript, фокусирующийся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API для работы с AJAX. Разработка jQuery ведётся командой добровольцев на пожертвования.
Yahoo! UI Library (YUI) — библиотека JavaScript для создания богатых интерактивными возможностями приложений или/и пользовательского интерфейса. Использует AJAX, анимацию, надстройки над XMLHttpRequest и DOM, «drag-and-drop», слайдеры, слайды, календари, деревья, табы и другие новинки, составляющие понятие «Web 2.0». Собственное API для работы с JavaScript. Подробная документация с примерами.
Google Web Toolkit — свободный Java-фреймворк, который позволяет веб-разработчикам создавать Ajax-приложения. Его особенность — это компилятор Java -> JavaScript, позволяющий почти всю разработку клиента и сервера реализовать на основе Java и лишь на последнем этапе создать соответствующие JavaScript, HTML и CSS. Выпускается под лицензией Apache версии 2.0. GWT делает акцент на повторное использование и кросс‐браузерную совместимость.
PyQt — набор расширений (биндингов) графического фреймворка Qt для языка программирования Python, выполненный в виде расширения Python.
Tkinter — кросс-платформенная графическая библиотека на основе средств Tk, написанная Стином Лумхольтом и Гвидо ван Россумом. Входит в стандартную библиотеку Python.
Ribbon (Лента) или Microsoft Fluent Interface — тип интерфейса в GUI-приложениях, основанный на панелях инструментов, разделенных вкладками. Приложения пакета Microsoft Office начиная с версии 2007, выпущенные компанией Microsoft, применяют эту форму интерфейса, главной частью которой является модульная лента с пиктограммами вместо текстовых пунктов меню.
Tapestry — объектно-ориентированный Java фреймворк для создания веб-приложений, реализующих модель MVC. Tapestry был создан Howard Lewis Ship и продолжает активно развиваться. Фреймворк является проектом верхнего уровня в организации Apache Software Foundation. Основной акцент в Tapestry сделан на продуктивность разработчика, лёгкость использования, невозможность программистами создания больших кусков «glue code». Tapestry использует модульный подход к веб-разработке, используя биндинг между компонентами (объектами) пользовательского интерфейса на веб-странице и соответствующими им java-классами. Эта компонентно-ориентированная архитектура почерпнула большое количество идей из WebObjects.
Abstract Window Toolkit (AWT) — это исходная платформо-независимая оконная библиотека графического интерфейса языка Java. Сейчас AWT является частью Java Foundation Classes (JFC) — стандартного API для реализации графического интерфейса в Java-программе.
Ultimate++ — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Целью U++ является уменьшение сложности типичных десктопных приложений за счёт интенсивного использования особенностей C++. Работает под Linux/X11, BSD/X11, Windows и, начиная с версии 2019.1 MacOS X. Поддержка разработки для Android находится в состоянии разработки.
Windows USER — подсистема управления окнами и пользовательским интерфейсом операционной системы Windows, одна из трех исторически первых компонент этой ОС.
Окно — основное понятие оконного интерфейса, интерфейсный контейнер. Кроме дочерних элементов интерфейса, окно также может содержать элементы управления самим окном. Важная особенность окон — возможность перекрываться, то есть располагаться поверх друг друга, полностью или частично закрывая нижнее окно.
One UI — оболочка Android от компании Samsung Electronics. Оболочка нацелена на улучшение работы пользователя с устройствами компании одной рукой, отсюда и пошло само название этой оболочки.
qooxdoo — JavaScript-Фреймворк с открытым исходным кодом для разработки пользовательских интерфейсов. Служит фреймворком для одностраничных приложений. Разработка веб-приложений возможна полностью на JavaScript без использования HTML и каскадных таблиц стилей (CSS). По своему стилю и философии похож на библиотеки виджетов Qt и SWT, о чем заявляли сами разработчики qooxdoo.
Данная статья предоставляет список инструментариев графического интерфейса, используемых для создания графического интерфейса пользователя, отсортированных по их связям с различными операционными системами.