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
NanaJinhao Linux, Microsoft Windows Free: Boost
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 Android, iOS (experimental: Web, Linux, Windows, macOS)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

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.

eric (software)

eric is a free integrated development environment (IDE) used for computer programming. Since it is a full featured IDE, it provides by default all necessary tools needed for the writing of code and for the professional management of a software project.

<span class="mw-page-title-main">Apache Portable Runtime</span> Supporting library for the Apache web server

The Apache Portable Runtime (APR) is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system (OS). Where the OS does not support a particular function, APR will provide an emulation. Thus programmers can use the APR to make a program truly portable across platforms.

Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit, and is Python's de facto standard GUI. Tkinter is included with standard Linux, Microsoft Windows and macOS installs of Python.

SALOME is a multi-platform open source (LGPL-2.1-or-later) scientific computing environment, allowing the realization of industrial studies of physics simulations.

A PIGUI package is a software library that a programmer uses to produce GUI code for multiple computer platforms. The package presents subroutines and/or objects which are independent of the GUIs that the programmer is targeting. For software to qualify as PIGUI it must support several GUIs under at least two different operating systems. The package does not necessarily provide any additional portability features. Native look and feel is a desirable feature, but is not essential for PIGUIs.

<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.

<span class="mw-page-title-main">Tk (software)</span> GUI toolkit or framework

Tk is a cross-platform widget toolkit that provides a library of basic elements of GUI widgets for building a graphical user interface (GUI) in many programming languages. It is free and open-source software released under a BSD-style software license.

<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.

<span class="mw-page-title-main">GTK</span> Free and open-source cross-platform widget toolkit for creating graphical user interfaces

GTK is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.

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

PsychoPy is an open source software package written in the Python programming language primarily for use in neuroscience and experimental psychology research. Developed initially as a Python library and then as an application with a graphical interface, it now also supports JavaScript outputs to run studies online and on mobile devices. Unlike most packages, it provides users with a choice of interface - they can generate experiments by writing Python scripts, use a graphical interface that will generate a script for them, or combine both methods. Its platform independence is achieved through use of the wxPython widget library for the application and OpenGL for graphics calls. It is also capable of generating and delivering auditory stimuli.

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. It provides a WYSIWYG front-end for editing graphics, effects and logic of the user interface and generates ANSI C code for particular target hardware. Embedded Wizard is independent of a specific graphics hardware or color format and supports object oriented programming.

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

appJar is a cross-platform Python library for developing GUIs. It can run on Linux, OS X, and Windows. It was conceived, and continues to be developed with educational use as its focus, so is accompanied by comprehensive documentation, as well as easy-to-follow lessons.

References

  1. https://www.embarcadero.com/new-tools/python/delphi-4-python