Элемент интерфейса
- 1 year ago
- 0
- 0
Данная статья предоставляет список инструментариев графического интерфейса (также известных как GUI фреймворки ), используемых для создания графического интерфейса пользователя , отсортированных по их связям с различными операционными системами .
Название | Windows | macOS | Unix-like | Язык программирования | Лицензия |
---|---|---|---|---|---|
AWT | cross-platform | Java | |||
CEGUI | Да | Да | Да | C++ | MIT |
Cocoa | Нет | Да | Нет | Objective-C | Proprietary |
Elementary | Да | Да | Да | C | LGPL , BSD |
FLTK | Да | Да | Да | C++ | LGPL |
Fox toolkit | Да | Нет | Да | C++ | LGPL |
Fyne | cross-platform | Go | BSD | ||
GNUstep | Да | Да | Да | Objective-C | LGPL |
GTK | Да | Да | Да | C | LGPL |
Kivy | cross-platform | Python | MIT | ||
LCL | Да | Да | Да | Object Pascal ( Free Pascal ) | LGPL |
IUP | Да | Нет | Да | C | MIT |
Juce | Да | Да | Да | C++ | GPL , proprietary |
LessTif | Нет | Нет | Да | C | LGPL |
MFC | Да | Нет | Нет | C++ | Proprietary |
Nana C++ | Да | Нет | Да | C++ | Boost license |
OWL (superseded by VCL) | Да | Нет | Нет | C++ ( Borland C++ ) | Proprietary |
Pivot (WTK) | cross-platform | Java | Apache License | ||
Да | Да | Да | C++ | proprietary | |
Qt | Да | Да | Да | C++ | LGPL , proprietary |
Rogue Wave Views | Да | Нет | Да | C++ | proprietary |
Shoes (GUI toolkit) | cross-platform | Ruby | MIT | ||
Swing | cross-platform | Java | |||
Tk | Да | Да | Да | C | BSD |
TnFOX | Да | Да | Да | C++ | LGPL |
Ultimate++ | Да | Да | Да | C++ | BSD |
VCL (supersedes OWL) | Да | Нет | Нет | Object Pascal ( Delphi ) | Proprietary |
WTL | Да | Нет | Нет | C++ | Microsoft Public License |
wxWidgets | Да | Да | Да | C++ | WxWindows license |
Обратите внимание, что X Window System предназначалась в первую очередь для Unix-подобных операционных систем, но теперь она работает и в Microsoft Windows с использованием, например, Cygwin , поэтому некоторые или все эти наборы инструментов также можно использовать под Windows.
Общий
Full-stack framework
Ресурсные
Больше не разрабатываются
Toolkit | Initial release | Latest release | Main language | Bindings | Tools | License | Pros | Cons | Back-end |
---|---|---|---|---|---|---|---|---|---|
ATL , WTL | 2004 | C++ | Visual Studio | not portable | |||||
AWT | 1995 | Java | portable | ||||||
CEGUI | 2004 | C++ | Python , Lua (using tolua++) | CEED | MIT License | Free license, fast, cross-platform, portable, free GUI editing tool | |||
Clutter | 2006 | C | Perl, Python, C#, C++, Vala, Ruby | LGPL | GTK and WebKit embedding | ||||
CLX | C++ | ||||||||
Elementary | 2007 (EFL: 2001) | 2016 | C | JavaScript, Python, Vala, C++ | editje, edje | LGPL | Portable, stable, fast, finger-friendly | ||
FLTK | 1998 | 2019 | C++ | Python (pyFLTK), Perl (FLTK.pm), Ruby (Ruby/FLTK), Tcl (Tcl Fltk), Guile (guile-fltk), Eiffel (IFLTK) | FLUID (Fast Light UI Designer) | LGPL (with an exception that allows static linking) | fast, small enough to static link | limited widget selection | |
Flutter | 2017 | Dart | |||||||
FOX | 1997 | C++ | Ruby (FXRuby), Python (FXPy), Eiffel (EiffelFox) | consistent across platforms | non-native look and feel | ||||
Fyne | 2018 | 2020 (1.3.2) | Go | BSD | consistent across platforms, no runtime dependency | requires OpenGL | |||
GLUI | C++ | ||||||||
GNUstep | 1994 | 2017 | Objective-C | Java, Ruby, Scheme | Gorm (computing) | GPL for the apps, LGPL for the libs | Portable, free license | Native on macOS (with Cocoa) | X11 , Win32 , Wayland |
GTK | 1997 | C | C++ ( gtkmm ), Perl ( Gtk2-perl ), Ruby (ruby-gtk2), Python ( PyGTK ), Haskell (Gtk2Hs), Java (java-gnome) (not available for Microsoft Windows), C# ( Gtk# ), PHP ( PHP-GTK ), Ada (GTKAda), D ( gtkD ), FreeBasic (GladeToBac), Go (go-gtk), OCaml (lablgtk), JavaScript ( Gjs , Seed (programming)), Fortran (gtk-fortran), Lua (lua-lgi), R (RGtk2) and others via GTK-server | Glade | LGPL | Portable, free license | Partly native only. | ||
IUP | 1992 | 2019 | C | Lua (IupLua) | LEDC: a compiler for | MIT | Portable, lightweight, use the native API , native look&feel, free licence | Non‑Unicode (only plain ASCII) | |
Juce | 2004 | C++ | Jucer | GPL , commercial | Cross-platform, with additional audio plug-in wrapping tools ( VST , RTAS , AAX etc.) | ||||
MFC , WinAPI | 1992 | C++ | Visual Studio | not portable (but Wine implements it for X Window ) | |||||
Motif , Lesstif | 1980s | C | BX Pro | ||||||
Nana C++ | 2007 | C++ | VisualStudio, Dev-C++, Code::Blocks, GCC | portable, lightweight, modern C++ style | |||||
2020 | SuperC(C++ Nex) | ||||||||
Qt | 1991 | C++ | Ruby ( QtRuby ), Python ( PyQt , PySide , PythonQt), Ada (QtAda), c# ( Qyoto), Java ( Qt Jambi ), Pascal ( FreePascal Qt4 ), Perl (Perl Qt4), PHP(PHP-Qt), Haskell (Qt Haskell), Lua (lqt, QtLua), Dao ( DaoQt), Tcl ( qtcl ), Common Lisp (CommonQt), D (QtD), Harbour (hbqt) | Qt Designer, Qt Creator | GPL , LGPL . | Portable, rich widget set, GUI builder, free license, stable API | Partially native only. | ||
Rogue Wave Views | 1993 | 2014 (5.8) | C++ | ivfstudio | proprietary | portable (Windows, Unix-like), good support | commercial | ||
Shoes (GUI toolkit) | 2007 | 2010 | Ruby | MIT license/Open source | Simplicity, ease of use | ||||
Swing | 1996 | Java | Eclipse, NetBeans | GPL for OpenJDK | Portable (Java), advanced widgets, GUI builders | ||||
SWT | Java | D (DWT) | Eclipse | portable | |||||
Tk | 1991 | 2015 | C, Tcl | Ruby (RubyTk), Python ( Tkinter ), Perl (Perl/Tk), Ada (TASH), Common Lisp (LTk), Erlang (etk), ... | | BSD | very portable, many language bindings | |||
Ultimate++ | 2004 | 2022 | C++ | theIDE | BSD | portable, NTL, free license | |||
VCF | C++ | BSD | free license | ||||||
VCL | Delphi | ||||||||
Windows Forms | CLI languages | CLI languages | Expression, Visual Studio | portability issues, no MVC | |||||
WPF , XAML , Silverlight | 2007 | CLI languages | CLI languages | Expression, Visual Studio | Portability issues | ||||
wxWidgets | 1992 | C++ | C++ (native), Ruby (wxRuby), Python ( wxPython ), Perl (wxPerl), Java (wxJava, jwx!), Lua (wxLua), Tcl(wxTCL), JavaScript (GLUEscript), Smalltalk (wxSqueak), Erlang (wxErlang), Haskell (wxHaskell), C (wxC), D (wxD), .NET Framework (wxNet), Common Lisp (wxCL), Basic (wxBasic), BlitzMax (wxMax), Euphoria (wxEuphoria), Ada (wxAda), Pike (wxPike) | VisualWx, Boa Constructor, PythonCard, Spe, XRCed, wxGlade, wxFormBuilder , DialogBlocks ($), wxDesigner ($) | wxWindows License | Portable, rich widget set, free licence, semantic similarities to MFC make migration easy. | |||
Xaw , Athena | 1983 | 1.0.13 | C | MIT X11 | |||||
XUL | XML, JavaScript | portable | |||||||
XVT | 1989 | 2010 | C and C++ | Design for C and architect for C++ | Proprietary | Cross-platform, rich widget set, C and C++ GUI builders, very stable | |||
Toolkit | Initial release | Latest release | Main language | Bindings | Tools | License | Pros | Cons | Back-end |