This article needs additional citations for verification .(April 2007) |
This is a list of notable library packages implementing a graphical user interface (GUI) platform-independent GUI library (PIGUI). These can be used to develop software that can be ported to multiple computing platforms with no change to its source code.
Name | Owner | Programming language | Platforms | License |
---|---|---|---|---|
Apache Flex Formerly Adobe Flex | Apache Software Foundation | ActionScript, Flash, Adobe AIR | Windows (x86, x64), macOS, Android (ARM, x86), iOS, Web (SWF) | Free: Apache |
Apache Pivot | Apache Software Foundation | Java | Windows, macOS, Linux | Free: Apache |
Avalonia | AvaloniaUI OÜ | C#, XAML, WASM | Windows, macOS, Linux, iOS, Android, Web (WebAssembly), Samsung Tizen | Free: MIT |
Delphi, FireMonkey | Embarcadero Technologies | Object Pascal, Python [1] | Windows, macOS, Linux, iOS, Android | Proprietary |
Flutter | C, C++, Dart | Windows, macOS, Linux, iOS, Android, Web [2] [3] | Free: New BSD License | |
Fyne | Open source | Go | Windows, macOS, Linux, BSD, Android, iOS (experimental: Web) | Free: New BSD License |
Godot (game engine) | Open source | GDScript, C++, C#, GDNative | Linux, macOS, Windows, BSD, Haiku, iOS, Android, HTML5, WebAssembly, Xbox One, Universal Windows Platform, also useful for making GUI apps in VR (OpenXR and WebXR) | Free: MIT |
PureBasic | Fantaisie Software | BASIC | Windows, Linux and OSX | Proprietary |
JavaFX | Oracle Corporation | Java | Windows, Linux X11, macOS, Android, iOS | Free: CDDL, GPL with linking exception |
Kivy | Kivy | Python | Linux, Windows, macOS, Android, iOS | Free: MIT |
LCL, Lazarus | Open source | Free Pascal | Windows (Win32, Qt), Linux (GTK, Qt), macOS (Qt, Carbon, Cocoa) | Free: GPL, LGPL |
Mono, GTK# | Xamarin | C# | Windows, Linux (X11, Wayland), macOS | Free: MIT, LGPLv2, GPLv2 (dual license) |
Swing | Oracle Corporation | Java | Windows, Linux X11, macOS | Free: CDDL, GPL with linking exception |
SWT | Eclipse Foundation | Java | Windows (Win32), Linux (GTK), macOS (Cocoa) | Free: Eclipse |
Tcl/Tk | Open source | Tcl | Windows, OS/2, X11, OpenLook, Mac, Android | Free: BSD-style |
Unity | Unity Technologies | C#, JavaScript, Boo | Windows, X11, macOS, Android, iOS also features cross-platform Web player | Proprietary, based on open-source |
Uno Platform | nventive | C#, XAML, WASM | Windows, iOS, Android, Web (WebAssembly), experimental macOS | Free: Apache |
VisualWorks | Cincom | Smalltalk | Windows, OS/2, Linux (X11), OpenLook, Mac | Proprietary |
Xojo | Xojo, Inc. | Xojo | Windows, macOS, Linux (X11), iOS, web | Proprietary |
LispWorks CAPI | LispWorks, Ltd. | Common Lisp | Windows, macOS, Linux (Gtk+), Motif | Proprietary |
Name | Owner | Comment |
---|---|---|
VisualAge | IBM | Discontinued by IBM in 2007. |
AppWare | Novell | Has been de-emphasized (commonly viewed as dropped) by Novell |
Open Interface | Neuron Data | One of the earliest PIGUI supported DOS, macOS, OS/2, VMS, Microsoft Windows 3.0 |
Zinc Application Framework | Professional Software Associates | May still be supported, but no new sales |
A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.
ncurses is a programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces (TUI) in a terminal-independent manner. It is a toolkit for developing "GUI-like" application software that runs under a terminal emulator. It also optimizes screen changes, in order to reduce the latency experienced when using remote shells.
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this means a variety of licenses including GNU General Public License (GPL) and commercial license, but not the GNU Lesser General Public License (LGPL). PyQt supports Microsoft Windows as well as various kinds of UNIX, including Linux and MacOS.
The FOX toolkit is an open-source, cross-platform widget toolkit, i.e. a library of basic elements for building a graphical user interface (GUI). FOX stands for Free Objects for X.
A graphical user interface builder, also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in the source code, with no visual feedback until the program is run. Such tools are usually called the term RAD IDE.
Twisted is an event-driven network programming framework written in Python and licensed under the MIT License.
Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy. It provides an object-oriented API for embedding plots into applications using general-purpose GUI toolkits like Tkinter, wxPython, Qt, or GTK. There is also a procedural "pylab" interface based on a state machine, designed to closely resemble that of MATLAB, though its use is discouraged. SciPy makes use of Matplotlib.
Crazy Eddie's GUI (CEGUI) is a graphical user interface (GUI) library for the programming language C++. It was designed for the needs of video games, but is usable for non-game tasks, such as applications and tools. It is designed for user flexibility in look-and-feel, and to be adaptable to the user's choice in tools and operating systems.
NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. The project homepage is hosted by the Unidata program at the University Corporation for Atmospheric Research (UCAR). They are also the chief source of netCDF software, standards development, updates, etc. The format is an open standard. NetCDF Classic and 64-bit Offset Format are an international standard of the Open Geospatial Consortium.
Phatch is a raster graphics editor used to batch process digital graphics and photographs. Phatch can be used on the desktop as a GUI program or on the server as a console program.
KNIME (/naɪm/), the Konstanz Information Miner, is a global computer software company, originally founded in Konstanz (Germany), now headquartered in Zurich (Switzerland) with offices in Germany, the U.S. and Switzerland.
Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.
FireMonkey is a cross-platform GUI framework developed by Embarcadero Technologies for use in Delphi, C++Builder or Python, using Object Pascal, C++ or Python to build cross platform applications for Windows, macOS, iOS, and Android. A 3rd party library, FMX Linux, enables the building of FireMonkey applications on Linux.
Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows.
Anaconda is a distribution of the Python and R programming languages for scientific computing, that aims to simplify package management and deployment. The distribution includes data-science packages suitable for Windows, Linux, and macOS. It is developed and maintained by Anaconda, Inc., which was founded by Peter Wang and Travis Oliphant in 2012. As an Anaconda, Inc. product, it is also known as Anaconda Distribution or Anaconda Individual Edition, while other products from the company are Anaconda Team Edition and Anaconda Enterprise Edition, neither of which are free.
Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017. Flutter is used internally by Google in apps such as Google Pay and Google Earth as well as by other software developers including ByteDance and Alibaba.