В этой статье представлен список наборов инструментов виджетов (также известные как структуры GUI ), используемые для создания графического пользовательского интерфейса (GUI) программ, организованного по их взаимосвязям с различными операционными системами.
Название набора инструментов | Windows | OS X | Unix-подобный | Язык программирования | Лицензия |
---|---|---|---|---|---|
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 | No | No | Да | C | LGPL |
MFC | Да | No | No | C ++ | Собственный |
Nana C ++ | Да | No | Да | C ++ | Boost лицензия |
OWL (заменена VCL) | Да | No | No | C ++ (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) | Да | No | No | Object Pascal (Delphi ) | Собственный |
WTL | Да | No | No | C ++ | Общественная лицензия Microsoft |
wxWid получает | Да | Да | Да | C ++ | лицензия WxWindows |
Обратите внимание, что X Window System изначально предназначался в первую очередь для Unix-подобных операционных систем, но теперь он работает и в Microsoft Windows с использованием, например, Cygwin, поэтому некоторые или все эти инструменты также можно использовать в Windows.
Общие
Full-stack framework
Ресурсная
Больше не разрабатывается
Toolkit | Первоначальный выпуск | Последний выпуск | Основной язык | Привязки | Инструменты | Лицензия | Плюсы | Минусы | Серверная часть |
---|---|---|---|---|---|---|---|---|---|
ATL, WTL | 2004 | C ++ | Visual Studio | непереносимый | |||||
AWT | 1995 | Java | переносимый | ||||||
CEGUI | декабрь 2004 г. | 0.8.7 (28 апреля 2016 г. ; 4 года назад (2016-04-28)) | C ++ | Python, Lua (с использованием tolua ++) | CEED | Лицензия MIT | Бесплатная лицензия, быстрый, кроссплатформенный, портативный, бесплатный инструмент для редактирования графического интерфейса | ||
Clutter | 2006 | C | Perl, Python, C #, C ++, Vala, Ruby | LGPL | GTK + и WebKit встраивание | ||||
CLX | C ++ | ||||||||
Elementary | 2007 (EFL : 2001) | 2016 | C | JavaScript, Python, Vala, C ++ | editje, edje | LGPL | Портативный, стабильный, быстрый, удобный для пальцев | ||
FLTK | 1998 | 2019 | C ++ | Python (), Perl (), Ruby (), Tcl (), Guile (), Eiffel () | FLUID (Fast Light UI Designer) | LGPL (за исключением, которое позволяет статическое связывание ) | быстро, достаточно мало для статической ссылки | ограниченный выбор виджетов | |
Flutter | 2017 | Dart | |||||||
FOX | 1997 | C ++ | Ruby (), Python (), Eiffel () | единообразно платформы | неродной внешний вид | ||||
Fyne | 2018 | 2020 (1.3.2) | Go | BSD | единообразно для разных платформ, нет зависимости времени выполнения | требует OpenGL | |||
GLUI | C ++ | ||||||||
GNUstep | 1994 | 2017 | Objective-C | Java, Ruby, Scheme | Гор m (вычисления) | GPL для приложений, LGPL для библиотек | Portable, бесплатная лицензия | Native на macOS (с Cocoa) | X11, Win32, Wayland |
GTK + | 1997 | 3.24.4 (21 января 2019; 20 месяцев назад (21.01.2019)) | C | C ++ (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 | 1992 | 2019 | C | Lua () | LEDC: компилятор для LED | MIT | Портативный, легкий, использовать собственный API, собственный внешний вид, бесплатную лицензию | Non-Unicode (только простой ASCII) | |
Juce | 2004 | C ++ | Jucer | GPL, коммерческий | Кросс-платформенный, с дополнительными инструментами обертывания аудио плагинов (VST, RTAS и т. Д.) | ||||
MFC, WinAPI | 1992 | C ++ | Visual Studio | не переносится (но Wine реализует его для X Window ) | |||||
Motif, Lesstif | 1980-е годы | C | BX Pro | ||||||
Nana C ++ | 2007 | 1.2.2 (8 декабря 2015 г.; 4 года назад (08.12.2015)) | C ++ | VisualStudio, Dev-C ++, Code :: Blocks, GCC | портативный, легкий, современный стиль C ++ | ||||
Qt | 1991 | 5.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 Просмотры | 1993 | 2014 (5.8) | C ++ | ivfstudio | проприетарный | портативный (Windows, Unix-подобный), хорошо поддержка | коммерческая | ||
Обувь (набор инструментов GUI) | 2007 | 2010 | Ruby | Лицензия MIT / Открытый исходный код | Простота, удобство использования | ||||
Swing | 1996 | Java | Eclipse, NetBeans | GPL для OpenJDK | Portable (Java), расширенные виджеты, компоновщики графического интерфейса | ||||
SWT | Java | D (DWT ) | Eclipse | Portable | |||||
Tk | 1991 | 2015 | C, Tcl | Ruby (), Python (Tkinter ), Perl (), Ada (), Common Lisp (), Erlang (),... | | BSD | очень переносимый, многоязыковые привязки | |||
Ultimate ++ | 2004 | 2020 | C ++ | TheIDE | BSD | переносимый, NTL, бесплатная лицензия | |||
VCF | C ++ | BSD | бесплатная лицензия | ||||||
VCL | Delphi | ||||||||
Windows Forms | языки интерфейса командной строки | языки интерфейса командной строки | Expression, проблемы с переносимостью Visual Studio | , нет MVC | |||||
WPF, XAML, Silverlight | 2007 | языки интерфейса командной строки | языки интерфейса командной строки | Expression, Visual Studio | Проблемы с переносимостью | ||||
wxWidgets | 1992 | 3.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 | 1983 | 1.0.13 | C | MIT X11 | |||||
XUL | XML, JavaScript | портативный | |||||||
XVT | 1989 | 2010 | C и C ++ | Дизайн для C и архитектор для C ++ | Собственный | Кросс-платформенный, богатый набор виджетов, C и построители графического интерфейса C ++, очень стабильный | |||
Toolkit | Первоначальный выпуск | Последний выпуск | Основной язык | Привязки | Инструменты | Лицензия | Плюсы | Минусы | Серверная часть |