List of platform-independent GUI libraries

Last updated

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.

Contents

In C, C++

NameOwner Platforms License
Chromium Embedded Framework (CEF)CEF Project Page Linux, macOS, Microsoft Windows Free: BSD
CEGUI CEGUI team Linux, macOS, Microsoft Windows Free: MIT
Enlightenment Foundation Libraries (EFL)Enlightenment.org X11, Wayland, Microsoft Windows, macOS, DirectFB, Tizen Free: BSD, LGPL, GPL
Fast Light Toolkit (FLTK)Bill Spitzak, et al. X11, Wayland, Microsoft Windows, macOS Free: LGPL
GTK
formerly GIMP Toolkit
GNOME Foundation Linux (X11, Wayland), Microsoft Windows, macOS, HTML5 Free: LGPL
IUP Tecgraf, PUC-Rio X11, GTK, Microsoft Windows Free: MIT
JUCE PACE Anti-Piracy Inc. X11, Linux, macOS, iOS, Android, Microsoft Windows Mixed: GPL, proprietary
LiveCode LiveCode, Ltd. X11, macOS, Microsoft Windows Proprietary
Qt Qt Project Linux (X11, Wayland), OS/2, macOS, iOS, Android, Microsoft Windows, WebAssembly (partial) Mixed: LGPL, GPL, or proprietary
U++ U++ team Linux (X11, GTK), macOS, Microsoft Windows Free: BSD
wxWidgets
formerly wxWindows
wxWidgets team X11, Wayland, OpenLook, macOS, iOS, Microsoft Windows, OS/2 Free: wxWindows

In other languages

NameOwnerProgramming 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, LinuxFree: Apache
Avalonia AvaloniaUI OÜ C#, XAML, WASM Windows, macOS, Linux, iOS, Android, Web (WebAssembly), Samsung TizenFree: MIT
Delphi, FireMonkey Embarcadero Technologies Object Pascal, Python [1] Windows, macOS, Linux, iOS, Android Proprietary
Flutter Google 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#, GDNativeLinux, 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, iOSFree: CDDL, GPL with linking exception
Kivy Kivy Python Linux, Windows, macOS, Android, iOSFree: 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), macOSFree: MIT, LGPLv2, GPLv2 (dual license)
Swing Oracle Corporation Java Windows, Linux X11, macOSFree: 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, AndroidFree: 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 macOSFree: Apache
VisualWorks Cincom Smalltalk Windows, OS/2, Linux (X11), OpenLook, Mac Proprietary
Xojo Xojo, Inc. Xojo Windows, macOS, Linux (X11), iOS, web Proprietary
LispWorks CAPILispWorks, Ltd. Common Lisp Windows, macOS, Linux (Gtk+), Motif Proprietary

No longer available or supported

NameOwnerComment
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

See also

Further reading

Related Research Articles

<span class="mw-page-title-main">Graphical user interface</span> User interface allowing interaction through graphical icons and visual indicators

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 Text-based user interface API

ncurses is a programming library providing an application programming interface (API) that allows writing text-based user interfaces (TUI) in a computer terminal-independent manner. It is a toolkit for developing graphical user interface (GUI)-like application software that runs under a terminal emulator. It also optimizes screen changes, 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.

<span class="mw-page-title-main">PyQt</span> Python GUI library

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.

<span class="mw-page-title-main">Fox toolkit</span>

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.

<span class="mw-page-title-main">Twisted (software)</span> Event-driven network programming framework

Twisted is an event-driven network programming framework written in Python and licensed under the MIT License.

Kross is a scripting framework for KDE Frameworks. Kross was originally designed for use in KOffice but eventually became the official scripting framework in KDE Software Compilation 4 before being dropped in Frameworks 6. The Kross scripting framework is not a scripting language itself; it is an interface for developers to support scripting by specifying functions, which the user will then script using a language that Kross supports. It currently supports Python, Ruby, JavaScript, and the Falcon Programming Language. Support for other languages can be added with modules.

<span class="mw-page-title-main">CEGUI</span>

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.

<span class="mw-page-title-main">Phatch</span> Raster graphics editing software

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.

Embedded Wizard is a graphical user interface tool developed and distributed by TARA Systems GmbH for creating graphical user interface (GUI) applications mainly for embedded systems, including microcontroller and microprocessor units. It provides a WYSIWYG front-end for editing graphics, effects and logic of the user interface and generates source code for particular target hardware. Embedded Wizard is independent of a specific graphics hardware, color format or input mechanism. It supports object oriented programming and does not require a Real-time operating system/Operating system, allowing GUIs to run on bare metal.

<span class="mw-page-title-main">Command-line interface</span> Computer interface that uses text

A command-line interface (CLI) is a means of interacting with a computer program by inputting lines of text called command-lines. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternative to the non-interactive interface available with punched cards.

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.

<span class="mw-page-title-main">FireMonkey</span>

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 third-party library, FMX Linux, enables the building of FireMonkey applications on Linux.

<span class="mw-page-title-main">Kivy (framework)</span> Free and multi-platform graphical library for Python

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.

<span class="mw-page-title-main">Anaconda (Python distribution)</span> Python and R distribution

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 is 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 other software developers including ByteDance and Alibaba.

References

  1. https://www.embarcadero.com/new-tools/python/delphi-4-python [ bare URL ]
  2. "Multi-Platform". flutter.dev. Retrieved 2024-05-27.
  3. Sneath, Tim (2022-05-11). "Introducing Flutter 3". Medium. Archived from the original on 2024-05-27. Retrieved 2024-05-27.