Список наборов инструментов виджетов

редактировать
Статья со списком Википедии

В этой статье представлен список наборов инструментов виджетов (также известные как структуры GUI ), используемые для создания графического пользовательского интерфейса (GUI) программ, организованного по их взаимосвязям с различными операционными системами.

Содержание
  • 1 Наборы инструментов виджетов нижнего уровня
    • 1.1 Интегрированы в операционную систему
    • 1.2 В качестве отдельного уровня поверх операционной системы
  • 2 Наборы инструментов виджетов высокого уровня
    • 2.1 Зависит от ОС
      • 2.1.1 Вкл. Amiga
      • 2.1.2 В Macintosh
      • 2.1.3 В Microsoft Windows
      • 2.1.4 В Unix в системе X Window
    • 2.2 Кросс-платформенный
      • 2.2.1 На основе C (включая привязки к другим языкам)
      • 2.2.2 На основе C ++ (включая привязки к другим языкам)
      • 2.2.3 На основе OpenGL
      • 2.2.4 На основе Flash
      • 2.2.5 На основе Go
      • 2.2.6 На основе XML
      • 2.2.7 На основе JavaScript
      • 2.2.8 На основе SVG
      • 2.2.9 На основе.NET
      • 2.2.10 B На основе Java
      • 2.2.11 На основе Object Pascal
      • 2.2.12 На основе Objective-C
      • 2.2.13 На основе Ruby
  • 3 Еще не классифицировано
  • 4 Сравнение наборов инструментов виджетов
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Наборы инструментов низкоуровневых виджетов

Интегрированы в операционную систему
  • OS X использует Какао. Mac OS9 и OS X используют Carbon для 32-битных приложений.
  • Windows API, используемый в Microsoft Windows. До 2006 года Microsoft интегрировала графические функции в ядро.
  • Операционная система Haiku использует расширенную и модернизированную версию Be API, которая использовалась его духовным предшественником. BeOS. Ожидается, что Haiku Inc. в какой-то момент откажется от совместимости двоичного кода и исходного кода с BeOS, что приведет к созданию собственного API Haiku.

В качестве отдельного уровня поверх операционной системы

  • X Window System содержит примитивные строительные блоки, называемые Xt или «Внутренние компоненты», но они в основном используются только старыми инструментами, такими как: OLIT, Motif и Xaw. Большинство современных инструментальных средств, таких как GTK + или Qt, обходят их и используют Xlib или XCB напрямую.
  • Amiga OS Intuition ранее присутствовала в ПЗУ Amiga Kickstart и интегрировалась с библиотекой виджетов среднего и высокого уровня, которая вызывала Workbench Родной для Amiga графический интерфейс. Начиная с Amiga OS 2.0, Intuition.library стала объектно-ориентированной и дисковой. Кроме того, Workbench.library и Icon.library стали основаны на дисках, и их можно было заменить аналогичными решениями сторонних производителей.
  • С 2005 года Microsoft исключила графическую систему из ядра Windows.
Высокий уровень наборы инструментов виджетов
Таблица сравнения наборов инструментов виджетов
Название набора инструментовWindowsOS XUnix-подобныйЯзык программированияЛицензия
AWT кросс-платформенныйJava
CEGUI ДаДаДаC ++ MIT
Какао НетДаНетObjective-C Собственный
Элементарный ДаДаДаC LGPL, BSD
FLTK ДаДаДаC ++ LGPL
Набор инструментов Fox ДаNoДаC ++ LGPL
Fyne кроссплатформенныйGo BSD
GNUstep ДаДаДаObjective-C LGPL
GTK ДаДаДаC LGPL
Kivy кроссплатформенныйPython MIT
LCL ДаДаДаOb ject Pascal (Free Pascal )LGPL
IUP ДаNoДаC MIT
Juce ДаДаДаC ++ GPL, проприетарный
LessTif NoNoДаC LGPL
MFC ДаNoNoC ++ Собственный
Nana C ++ ДаNoДаC ++ Boost лицензия
OWL (заменена VCL)ДаNoNoC ++ (Borland C ++ )Собственный
Pivot (WTK) кроссплатформенныйJava Лицензия Apache
Qt ДаДаДаC ++ LGPL, проприетарный
Rogue Wave ПросмотрыДаNoДаC ++ проприетарный
Обувь (инструментарий GUI) кроссплатформенныйRuby MIT
Swing кроссплатформенныйJava
Tk ДаДаДаC BSD
TnFOX ДаДаДаC ++ LGPL
Ultimate ++ ДаДаДаC ++ BSD
VCL (заменяет OWL)ДаNoNoObject Pascal (Delphi )Собственный
WTL ДаNoNoC ++ Общественная лицензия Microsoft
wxWid получает ДаДаДаC ++ лицензия WxWindows

зависит от ОС

На Amiga
  • BOOPSI (Базовая система объектно-ориентированного программирования для интуиции) была представлена ​​в ОС 2.0 и усовершенствована с помощью системы классов, в которой каждый класс представляет один виджет или описывает событие интерфейса. Это привело к эволюции, в ходе которой сторонние разработчики реализовали свои собственные системы классов.
  • MUI : объектно-ориентированный инструментарий графического интерфейса и официальный инструментарий для MorphOS.
  • ReAction : объектно-ориентированный инструментарий GUI и официальный инструментарий для AmigaOS.
  • Zune (инструментарий GUI) - это клон MUI с открытым исходным кодом и официальный инструментарий для AROS.

на Macintosh

на Microsoft Windows
  • Microsoft Foundation Classes (MFC), оболочка C ++ для Windows API.
  • Библиотека шаблонов Windows (WTL), шаблон - расширение на основе ATL и замена MFC
  • Библиотека Object Windows Library (OWL), Borland альтернатива MFC. 265>
  • Библиотека визуальных компонентов (VCL) - это набор инструментов Embarcadero, используемый в C ++ Builder и Delphi. Это обертывает т нативные элементы управления Windows, предоставляющие объектно-ориентированные классы и визуальный дизайн, но также позволяющие при необходимости доступ к базовым дескрипторам и другим деталям WinAPI. Первоначально он был реализован как преемник OWL, пропуская стиль создания пользовательского интерфейса OWL / MFC, который к середине девяностых годов был устаревшей моделью дизайна.
  • Windows Forms - это Microsoft .NET набор классов, которые обрабатывают элементы управления GUI. В кроссплатформенной реализации Mono это независимый инструментарий, полностью реализованный в управляемом коде (без оболочки Windows API, которого нет на других платформах). Дизайн WinForms очень похож на дизайн VCL.
  • . Windows Presentation Foundation - это графическая подсистема .NET Framework 3.0. Пользовательские интерфейсы могут быть созданы в WPF с использованием любого из языков CLR (например, C # ) или с помощью языка на основе XML XAML. Microsoft Expression Blend - это визуальный конструктор графического интерфейса для WPF.

В Unix в системе X Window

Обратите внимание, что X Window System изначально предназначался в первую очередь для Unix-подобных операционных систем, но теперь он работает и в Microsoft Windows с использованием, например, Cygwin, поэтому некоторые или все эти инструменты также можно использовать в Windows.

Кросс-платформенный

На основе на C (включая привязки к другим языкам)

  • Elementary, open source (LGPL ), часть Enlightenment Foundation Libraries, быстрая, стабильная и масштабируемая библиотека, которую можно использовать для создания как многофункциональных, так и быстрых приложений, которые можно использовать на чем угодно, от повседневных настольных компьютеров до небольших КПК и телевизионных приставок.
  • GTK +, с открытым исходным кодом (LGPL ), в первую очередь для X Window System, портированы на другие платформы и эмулируются под ними; используется в средах рабочего стола GNOME, Rox, LXDE и Xfce. Порт Windows поддерживает встроенные виджеты.
  • IUP, open source (MIT ), минималистичный набор инструментов GUI в ANSI C для Windows, UNIX и Linux.
  • Tk, с открытым исходным кодом (стиль BSD), набор виджетов, доступ к которому осуществляется из Tcl и других языков сценариев высокого уровня (интерфейс в Python как Tkinter ).
  • XForms, библиотека форм для X
  • XVT, расширяемый виртуальный инструментарий

на основе C ++ (включая привязки к другим языкам)

На основе OpenGL
  • Clutter (LGPL) (на языке C) - это программная библиотека с открытым исходным кодом для создания быстрых, визуально насыщенных и анимированных графических изображений. er интерфейсы.

На основе Flash
  • Adobe Flash позволяет создавать виджеты, работающие в большинстве веб-браузеров и на нескольких мобильных телефонах.
  • Adobe Flex предоставляет виджеты высокого уровня для создания веб-сайтов пользовательские интерфейсы. В Flex можно использовать виджеты Flash.
  • Виджеты Flash и Flex будут работать без веб-браузера в среде выполнения Adobe AIR.

На основе Go
  • Fyne, открытый исходный код (BSD ) основан на принципах материального дизайна для создания приложений, которые выглядят и ведут себя согласованно в Windows, macOS, Linux, BSD, Android и iOS.

На основе на XML

на основе JavaScript

Общие

RIA

Full-stack framework

Ресурсная

Больше не разрабатывается

  • Rialto Toolkit
  • YUI (Yahoo! Библиотека пользовательского интерфейса)

На основе SVG
  • Raphaël - это набор инструментов JavaScript для интерфейсов и анимации SVG

На основе .NET
  • Gtk #, оболочки C # вокруг базовых библиотек GTK + и GNOME, написанных на C и доступных в Linux, MacOS и Windows.
  • Windows Forms. Существует оригинальная реализация Microsoft, которая представляет собой оболочку вокруг Windows API и работает в Windows, и альтернативная реализация Mono , которая является кроссплатформенной.

На основе Java
  • Abstract Window Toolkit (AWT) - это исходный набор инструментов виджетов Sun Microsystems для приложений Java. Обычно он использует другой инструментарий на каждой платформе, на которой он работает.
  • Swing - более богатый инструментарий виджетов, поддерживаемый начиная с J2SE 1.2 в качестве замены виджетов AWT. Swing - это легкий набор инструментов, то есть он не полагается на собственные виджеты.
  • Apache Pivot - это платформа с открытым исходным кодом для создания полнофункциональных веб-приложений на Java или любом JVM-совместимом языке, основанная на наборе инструментов виджетов WTK.
  • JavaFX и FXML.
  • Standard Widget Toolkit (SWT) - это собственный набор инструментов для виджетов для Java, который был разработан как часть Eclipse проект. SWT использует стандартный набор инструментов для работающей платформы (например, Windows API, OS X Cocoa или GTK +) ниже.
  • java-gnome обеспечивает привязки к инструментарию GTK и другим библиотекам GNOME среда рабочего стола
  • Qt Jambi, официальная привязка Java к Qt от Trolltech. Коммерческая поддержка и разработка прекращены.

На основе Object Pascal
  • FireMonkey или FMX - это кроссплатформенный виджет и графическая библиотека, распространяемая с Delphi и C + + Builder, начиная с версии XE2 в 2011 году. Он имеет привязки для C ++ через C ++ Builder и поддерживает Windows, macOS, iOS, Android и, наконец, Linux. FireMonkey поддерживает как собственные виджеты платформы, такие как собственный элемент управления редактированием, так и настраиваемые виджеты, стилизованные так, чтобы выглядеть в целевой операционной системе. Его графика ускоряется на графическом процессоре и поддерживает стили и смешивание собственных элементов управления реализацией с собственными системными элементами управления, что позволяет приложениям использовать собственное поведение там, где это важно (например, для ввода текста IME.)
  • IP Pascal использует графическую библиотеку, построенную на основе стандартных языковых конструкций. Также необычно, потому что это кроссплатформенный процедурный инструментарий (без обратных вызовов или других уловок), полностью совместимый снизу вверх со стандартными парадигмами последовательного ввода и вывода. Можно запускать полностью стандартные программы с последовательным выводом и расширять их с помощью графических конструкций.
  • Lazarus LCL (для Pascal, Object Pascal и Delphi через компилятор Free Pascal ), библиотеку классов для GTK + 1.2, Gtk + 2.x и Windows API (поддержка Carbon, Windows CE и Qt4 находится в стадии разработки).
  • fpGUI создается с помощью компилятора Free Pascal. Он не полагается на какие-либо большие библиотеки 3rdParty и в настоящее время работает в Linux, Windows, Windows CE и Mac (через X11). Порт Carbon (OS X) находится в стадии разработки.
  • CLX (библиотека компонентов для кроссплатформенности) использовалась с Borland (теперь Embarcadero ) Delphi, C ++ Builder и Kylix для создания кроссплатформенных приложений между Windows и Linux. Он был основан на Qt, обернутый таким образом, что его программный интерфейс был подобен интерфейсу инструментария VCL. Он больше не поддерживается и не распространяется, и с 2011 года был заменен на FireMonkey, более новый инструментарий, также поддерживающий большее количество платформ.

На основе Objective-C

На основе Ruby
  • Shoes (GUI toolkit) - это кроссплатформенная среда для разработки графического пользовательского интерфейса.
Еще не классифицировано
Сравнение наборов инструментов виджетов
ToolkitПервоначальный выпускПоследний выпускОсновной языкПривязкиИнструментыЛицензияПлюсыМинусыСерверная часть
ATL, WTL 2004C ++Visual Studioнепереносимый
AWT 1995Javaпереносимый
CEGUI декабрь 2004 г.0.8.7 (28 апреля 2016 г. ; 4 года назад (2016-04-28))C ++Python, Lua (с использованием tolua ++)CEEDЛицензия MIT Бесплатная лицензия, быстрый, кроссплатформенный, портативный, бесплатный инструмент для редактирования графического интерфейса
Clutter 2006CPerl, Python, C #, C ++, Vala, RubyLGPLGTK + и WebKit встраивание
CLX C ++
Elementary 2007 (EFL : 2001)2016CJavaScript, Python, Vala, C ++editje, edjeLGPL Портативный, стабильный, быстрый, удобный для пальцев
FLTK 19982019C ++Python (), Perl (), Ruby (), Tcl (), Guile (), Eiffel ()FLUID (Fast Light UI Designer)LGPL (за исключением, которое позволяет статическое связывание )быстро, достаточно мало для статической ссылкиограниченный выбор виджетов
Flutter 2017Dart
FOX 1997C ++Ruby (), Python (), Eiffel ()единообразно платформынеродной внешний вид
Fyne 20182020 (1.3.2)GoBSD единообразно для разных платформ, нет зависимости времени выполнениятребует OpenGL
GLUI C ++
GNUstep 19942017Objective-CJava, Ruby, SchemeГор m (вычисления) GPL для приложений, LGPL для библиотекPortable, бесплатная лицензияNative на macOS (с Cocoa)X11, Win32, Wayland
GTK + 19973.24.4 (21 января 2019; 20 месяцев назад (21.01.2019))CC ++ (gtkmm ), Perl (Gtk2-perl ), Ruby (), Python (PyGTK ), Haskell (), Java (java-gnome ) (недоступно для Microsoft Windows), C # (Gtk # ), PHP (PHP-GTK ), Ada (), D (gtkD ), FreeBasic (), Go (), OCaml (), JavaScript (Gjs, Seed (программирование) ), Fortran (), Lua (), R (RGtk2 ) и другие через GTK-сервер Glade LGPL Portable, бесплатная лицензияЧастично только нативный.
IUP 19922019CLua ()LEDC: компилятор для LED MIT Портативный, легкий, использовать собственный API, собственный внешний вид, бесплатную лицензиюNon-Unicode (только простой ASCII)
Juce 2004C ++JucerGPL, коммерческийКросс-платформенный, с дополнительными инструментами обертывания аудио плагинов (VST, RTAS и т. Д.)
MFC, WinAPI 1992C ++Visual Studioне переносится (но Wine реализует его для X Window )
Motif, Lesstif 1980-е годыCBX Pro
Nana C ++ 20071.2.2 (8 декабря 2015 г.; 4 года назад (08.12.2015))C ++VisualStudio, Dev-C ++, Code :: Blocks, GCCпортативный, легкий, современный стиль C ++
Qt 19915.15.1 (10 сентября 2020; 38 дней назад (2020-09-10))C ++Ruby (QtRuby ), Python (PyQt, PySide,), Ada (), c # (Qyoto ), Java (Qt Jambi ), Pascal (), Perl (), PHP (PHP-Qt), Haskell (), Lua (,), Dao (), Tcl (), Common Lisp (), D (), Harbour ()Qt Designer, Qt Creator GPL, LGPL.Портативный, богатый набор виджетов, построитель графического интерфейса, бесплатная лицензия, стабильный API , только частично нативный.
Rogue Wave Просмотры19932014 (5.8)C ++ivfstudioпроприетарныйпортативный (Windows, Unix-подобный), хорошо поддержкакоммерческая
Обувь (набор инструментов GUI) 20072010Ruby Лицензия MIT / Открытый исходный кодПростота, удобство использования
Swing 1996JavaEclipse, NetBeansGPL для OpenJDK Portable (Java), расширенные виджеты, компоновщики графического интерфейса
SWT JavaD (DWT )EclipsePortable
Tk 19912015C, TclRuby (), Python (Tkinter ), Perl (), Ada (), Common Lisp (), Erlang (),... |BSD очень переносимый, многоязыковые привязки
Ultimate ++ 20042020C ++TheIDEBSD переносимый, NTL, бесплатная лицензия
VCF C ++BSD бесплатная лицензия
VCL Delphi
Windows Forms языки интерфейса командной строкиязыки интерфейса командной строкиExpression, проблемы с переносимостью Visual Studio, нет MVC
WPF, XAML, Silverlight 2007языки интерфейса командной строкиязыки интерфейса командной строкиExpression, Visual StudioПроблемы с переносимостью
wxWidgets 19923.0.5 (27 апреля 2020 г.; 5 месяцев назад (2020-04-27))C ++C ++ (собственный), Ruby (), Python (wxPython ), Perl (wxPerl ), Java (,), Lua (), Tcl (), JavaScript (GLUEscript ), Smalltalk (), Erlang (), Haskell (wxHaskell ), C (), D (),.NET Framework (), Common Lisp (), Basic (wxBasic ), BlitzMax (), Euphoria (), Ada (), Pike ()VisualWx, Boa Constructor, PythonCard, Spe, XRCed, wxFormBuilder, DialogBlocks ($), wxDesigner ($)Лицензия wxWindows Портативный, богатый набор виджетов, бесплатная лицензия, семантическое сходство с MFC упрощают миграцию.
Xaw, Athena 19831.0.13CMIT X11
XUL XML, JavaScriptпортативный
XVT 19892010C и C ++Дизайн для C и архитектор для C ++СобственныйКросс-платформенный, богатый набор виджетов, C и построители графического интерфейса C ++, очень стабильный
ToolkitПервоначальный выпускПоследний выпускОсновной языкПривязкиИнструментыЛицензияПлюсыМинусыСерверная часть
См. Также
Ссылки
Внешние ссылки

Последняя правка сделана 2021-05-28 14:56:05
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте