Java — строго типизированный объектно-ориентированный язык программирования общего назначения, разработанный компанией Sun Microsystems. Разработка ведётся сообществом, организованным через Java Community Process; язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle.
GTK+ — кроссплатформенная библиотека элементов интерфейса, имеет простой в использовании API, наряду с Qt является одной из двух наиболее популярных на сегодняшний день библиотек для X Window System.
Элеме́нт интерфе́йса — примитив графического интерфейса пользователя, имеющий стандартный внешний вид и выполняющий стандартные действия.
Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.
Swing — библиотека для создания графического интерфейса для программ на языке Java. Swing был разработан компанией Sun Microsystems. Он содержит ряд графических компонентов, таких как кнопки, поля ввода, таблицы и т. д.
Java Virtual Machine — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac). JVM может также использоваться для выполнения программ, написанных на других языках программирования. Например, исходный код на языке Ada может быть скомпилирован в байт-код Java, который затем может выполниться с помощью JVM.
OSGi — спецификация динамической модульной системы и сервисной платформы для Java-приложений, разрабатываемая консорциумом OSGi Alliance. Спецификации дают модель для построения приложения из компонентов, связанных вместе посредством сервисов. Суть заключается в возможности переинсталлировать динамически компоненты и составные части приложения без необходимости останавливать и перезапускать его.
JFace — набор Java-классов, реализующий наиболее общие задачи построения GUI. В рамках проекта Eclipse библиотека JFace описывается следующим образом: «Элементы пользовательского интерфейса, реализация которых может быть утомительной». JFace представляет собой дополнительный программный слой над SWT, который реализует паттерн Model-View-Controller. JFace предоставляет следующие возможности:
- Предоставляет «Viewer» классы, отвечающие за отображение и реализующие трудоёмкие задачи по заполнению, сортировке, фильтрации, а также обновлению виджетов.
- Предоставляет «Action» классы, которые позволяют разработчику определять специфическое поведение для отдельных элементов пользовательского интерфейса, таких как пункты меню, кнопки и т. д.
- Предоставляет регистры, содержащие шрифты и изображения.
- Предоставляет набор стандартных диалоговых окон и виджетов, а также предоставляет фреймворк для создания сложного графического интерфейса для взаимодействия с пользователем.
Eclipse Platform — основной, базовый проект Eclipse, представляет собой несколько java-фреймворков и поддержку подключения плагинов.
PyQt — набор расширений (биндингов) графического фреймворка Qt для языка программирования Python, выполненный в виде расширения Python.
Vala — язык программирования, предназначенный для прикладного и системного программирования на основе библиотек GLib Object System (GObject) рабочей среды GNOME/GTK+. Язык был разработан Йюргом Биллетером и Раффаэле Сандрини.
Java OpenGL (JOGL) — библиотека, представляющая собой прямую привязку функций OpenGL к языку программирования Java. Является эталонной реализацией спецификации JSR-231 (Java Bindings to OpenGL). Отмечена независимым сообществом opengl.org (см. Programming Language Bindings to OpenGL). Изначально библиотека разрабатывалась Кеннетом Бредли Расселом и Кристофером Джоном Клайном, а позже группой Game Technology Group компании Sun Microsystems. В настоящее время является независимым открытым проектом.
Rich AJAX Platform (RAP) — это проект разрабатывающийся в рамках проекта Eclipse Technology Project и являющийся свободным программным обеспечением, позволяя разработчикам создавать приложения Rich Internet Application с использованием технологии AJAX и использованием модели разработки Eclipse для создания плагинов с использованием Java API. Rich AJAX Platform является аналогом фреймворка Rich Client Platform для веб-разработки. Его API очень похож на API Rich Client Platform и поэтому разработчики, имеющие опыт работы с RCP, могут использовать свои знания для разработки веб-приложений. RAP стимулирует обмен и повторное использование исходного кода между RCP и RAP-приложениями, позволяя упростить разработку приложений работающих на клиентской машине и имеющих веб-интерфейс.
Qt Jambi — библиотека Java, представляющая собой обёртку Qt, каркаса графических приложений. Она позволяет Java разработчикам использовать Qt в своих проектах.
Abstract Window Toolkit (AWT) — это исходная платформо-независимая оконная библиотека графического интерфейса языка Java. Сейчас AWT является частью Java Foundation Classes (JFC) — стандартного API для реализации графического интерфейса в Java-программе.
Есть три типа Java API:
- официальный основной Java API, содержащийся в JDK или JRE, в одном из вариантов Java. Три варианта платформы Java: Java ME, Java SE и Java EE.
- дополнительные официальные API, которые можно загрузить отдельно. Спецификации этих API определяются в соответствии с Java Specification Request (JSR), а иногда и некоторые из этих API позднее включаются в основные API платформы.
- неофициальный API, разработанный третьими сторонами, но не связанный с JSR.
Ultimate++ — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Целью U++ является уменьшение сложности типичных десктопных приложений за счёт интенсивного использования особенностей C++. Работает под Linux/X11, BSD/X11, Windows и, начиная с версии 2019.1 MacOS X. Поддержка разработки для Android находится в состоянии разработки.
Java Media Framework — библиотека, облегчающая разработку программ, работающих с аудио и видео.
qooxdoo — JavaScript-Фреймворк с открытым исходным кодом для разработки пользовательских интерфейсов. Служит фреймворком для одностраничных приложений. Разработка веб-приложений возможна полностью на JavaScript без использования HTML и каскадных таблиц стилей (CSS). По своему стилю и философии похож на библиотеки виджетов Qt и SWT, о чем заявляли сами разработчики qooxdoo.
Данная статья предоставляет список инструментариев графического интерфейса, используемых для создания графического интерфейса пользователя, отсортированных по их связям с различными операционными системами.