A graphical user interface builder (or GUI builder), also known as GUI designer or sometimes RAD IDE, is a
software development tool
A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs, that can ...
that simplifies the creation of
GUIs by allowing the designer to arrange
graphical control element
A graphical widget (also graphical control element or control) in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct ...
s (often called widgets) using a
drag-and-drop
In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used to ...
WYSIWYG
In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in source-code, with no visual feedback until the program is run. Such tools usually called the term
RAD
RAD or Rad may refer to:
People
* Robert Anthony Rad Dougall (born 1951), South African former racing driver
* Rad Hourani, Canadian fashion designer and artist
* Nickname of Leonardus Rad Kortenhorst (1886–1963), Dutch politician
* Radley R ...
IDE.
User interfaces are commonly programmed using an
event-driven architecture Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events.
Overview
An ''event'' can be defined as "a significant change in state". For example, when a consumer p ...
, so GUI builders also simplify creating event-driven code. This supporting code connects
software widget
A software widget is a relatively simple and easy-to-use software application or component made for one or more different software platforms.
A desk accessory or applet is an example of a simple, stand-alone user interface, in contrast with a mo ...
s with the outgoing and incoming
events
Event may refer to:
Gatherings of people
* Ceremony, an event of ritual significance, performed on a special occasion
* Convention (meeting), a gathering of individuals engaged in some common interest
* Event management, the organization of eve ...
that trigger the functions providing the application logic.
Some graphical user interface builders automatically generate all the
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
for a
graphical control element
A graphical widget (also graphical control element or control) in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct ...
. Others, like
Interface Builder
Interface Builder is a software development application for Apple Inc., Apple's macOS operating system. It is part of Xcode (formerly Project Builder), the Apple Developer developer's toolset. Interface Builder allows Cocoa (API), Cocoa and Car ...
or
Glade Interface Designer
Glade Interface Designer is a graphical user interface builder for GTK, with additional components for GNOME. In its third version, Glade is programming language–independent, and does not produce code for events, but rather an XML file th ...
, generate
serialized object instances that are then loaded by the application.
List of GUI builders
C Language Based
*
GTK
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source 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 propriet ...
/
Glade Interface Designer
Glade Interface Designer is a graphical user interface builder for GTK, with additional components for GNOME. In its third version, Glade is programming language–independent, and does not produce code for events, but rather an XML file th ...
*
XForms (toolkit)
XForms is a GUI toolkit based on Xlib for the X Window System. It features a rich set of objects, such as buttons, scrollbars, and menus etc. In addition, the library is extensible and new objects can easily be created and added to the library. ...
fdesign
*
Intrinsics
*
Motif
C# Based
*
UWP /
Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem (similar to WinForms) originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initia ...
/
WinForms
Windows Forms (WinForms) is a free and open-source graphical user interface, graphical (GUI) Library (computing), class library included as a part of Microsoft .NET Core, .NET, .NET Framework or Mono Framework, providing a platform to write client ...
** Microsoft
Visual Studio XAML Editor,
XAML
Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
XAML is used extensively ...
based GUI layout
** Microsoft
Expression Blend
Microsoft Blend for Visual Studio (formerly Microsoft Expression Blend) is a user interface design tool developed and sold by Microsoft for creating graphical interfaces for web and desktop applications that blend the features of these two types ...
**
SharpDevelop
SharpDevelop (also styled as #develop) is a discontinued free and open source integrated development environment (IDE) for the .NET Framework, Mono, Gtk# and Glade# platforms. It supports development in C#, Visual Basic .NET, Boo, F#, IronPyt ...
*
Xamarin.Forms
Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono (software), Mono, Mono (software)#Xamarin.Android, Xamarin.Android (formerly Mono for Android) and Mono (software)#Xamarin.i ...
/
.NET Core
The domain name net is a generic top-level domain (gTLD) used in the Domain Name System of the Internet. The name is derived from the word ''network'', indicating it was originally intended for organizations involved in networking technologies ...
**
Xamarin Studio
C++ Based
*
UWP /
Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem (similar to WinForms) originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initia ...
/
WinForms
Windows Forms (WinForms) is a free and open-source graphical user interface, graphical (GUI) Library (computing), class library included as a part of Microsoft .NET Core, .NET, .NET Framework or Mono Framework, providing a platform to write client ...
** Microsoft
Visual Studio XAML Editor,
XAML
Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
XAML is used extensively ...
based GUI layout
**
Microsoft Blend
Microsoft Blend for Visual Studio (formerly Microsoft Expression Blend) is a User interface builder, user interface design tool developed and sold by Microsoft for creating graphical interfaces for web and desktop applications that blend the feat ...
*
Qt (toolkit)
Qt (pronounced "cute") is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems w ...
**
Qt Creator
Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which e ...
*
FLTK
**
FLUID
In physics, a fluid is a liquid, gas, or other material that continuously deforms (''flows'') under an applied shear stress, or external force. They have zero shear modulus, or, in simpler terms, are substances which cannot resist any shear ...
*
wxWidgets
wxWidgets (formerly wxWindows) is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with mini ...
**
wxGlade
**
wxFormBuilder
** wxCrafter (plugin for
CodeLite
CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript (Node.js) programming languages.
History
In August 2006, Eran Ifrah started an autocomplete project named CodeLite. The idea was to create a code completion library b ...
)
*
Projucer
*
Ultimate++
U++, formally known as Ultimate++ - is a C++ RAD framework that aims to reduce the code complexity of typical desktop applications by extensively exploiting C++ features. Programs created with it can work on multiple operating systems and hardwar ...
Objective-C / Swift Based
*
Cocoa
Cocoa may refer to:
Chocolate
* Chocolate
* ''Theobroma cacao'', the cocoa tree
* Cocoa bean, seed of ''Theobroma cacao''
* Chocolate liquor, or cocoa liquor, pure, liquid chocolate extracted from the cocoa bean, including both cocoa butter and ...
(modern) and
Carbon
Carbon () is a chemical element with the symbol C and atomic number 6. It is nonmetallic and tetravalent
In chemistry, the valence (US spelling) or valency (British spelling) of an element is the measure of its combining capacity with o ...
(deprecated).
**
Xcode
Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
*
GNUstep
GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.
GNUstep ...
(formerly
OpenStep
OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep was ...
)
**
Gorm
Java-Based
*
Android Studio
Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. It is available for download on Windows ...
, XML based GUI layout
*
NetBeans GUI design tool
*SceneBuilder
HTML/Javascript Based
*
DreamWeaver
Adobe Dreamweaver is a proprietary web development tool from Adobe Inc. It was created by Macromedia in 1997 and developed by them until Macromedia was acquired by Adobe Systems in 2005.
Adobe Dreamweaver is available for the macOS and Windows ...
from Adobe (Web Application User Interface Builders) — Obsolete as of 2022
*
Apache Cordova
Apache Cordova (formerly PhoneGap) is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordov ...
/
PhoneGap
Apache Cordova (formerly PhoneGap) is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova ...
Object Pascal Based
*
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
/ VCL (
Visual Component Library
The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.
History
The VCL was developed by Borland for use i ...
)
*
Lazarus / LCL (
Lazarus Component Library
The Lazarus Component Library, abbreviated ''LCL'' is a visual software component library for the Lazarus IDE.
Description
The LCL consists of a collection of units that provide components and classes especially for visual tasks. It is based ...
)
Flutter Framework Based
*
Flutter (software)
Flutter is an open-source UI software development kit created by Google. It is used to develop cross-platform applications for Android, iOS, Linux, macOS, Windows, Google Fuchsia, and the web from a single codebase.
First described in 2015, ...
**
FlutterFlow,
**
FlutterStudio,
**
Nowa App builder,
Tk Framework Based
*
Tk (framework)
Tk is a free and open-source, 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.
Tk provides a number of widgets commonly needed to ...
**
ActiveState Komodo
Komodo Edit is a free and open source text editor for dynamic programming languages. It was introduced in January 2007 to complement ActiveState's commercial Komodo IDE. As of version 4.3, Komodo Edit is built atop the Open Komodo project. Komodo ...
(No longer has a GUI builder)
Visual Basic Based
*
UWP /
Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem (similar to WinForms) originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initia ...
/
WinForms
Windows Forms (WinForms) is a free and open-source graphical user interface, graphical (GUI) Library (computing), class library included as a part of Microsoft .NET Core, .NET, .NET Framework or Mono Framework, providing a platform to write client ...
** Microsoft
Visual Studio XAML Editor,
XAML
Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
XAML is used extensively ...
based GUI layout
** Microsoft
Expression Blend
Microsoft Blend for Visual Studio (formerly Microsoft Expression Blend) is a user interface design tool developed and sold by Microsoft for creating graphical interfaces for web and desktop applications that blend the features of these two types ...
Misc
*
Adobe Animate
Adobe Animate (formerly Adobe Flash Professional, Macromedia Flash, and FutureSplash Animator) is a multimedia authoring and computer animation program developed by Adobe Inc.
Animate is used to design vector graphics and animation for televi ...
*
App Inventor for Android
MIT App Inventor is a web application integrated development environment originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to computer programming to create application softw ...
*
AutoIt
AutoIt is a freeware programming language for Microsoft Windows. In its earliest release, it was primarily intended to create automation scripts (sometimes called macros) for Microsoft Windows programs but has since grown to include enhancements ...
*
Axure RP
*
Interface Builder
Interface Builder is a software development application for Apple Inc., Apple's macOS operating system. It is part of Xcode (formerly Project Builder), the Apple Developer developer's toolset. Interface Builder allows Cocoa (API), Cocoa and Car ...
*
Crank AMETEK Storyboard
*
Creately
*
Embedded Wizard
Embedded Wizard is a User interface builder, 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 edi ...
*
GEM
A gemstone (also called a fine gem, jewel, precious stone, or semiprecious stone) is a piece of mineral crystal which, in cut and polished form, is used to make jewelry or other adornments. However, certain rocks (such as lapis lazuli, opal, a ...
*
Resource construction set
*
Stetic
MonoDevelop (also known as Xamarin Studio) is an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar t ...
*
LucidChart
Lucidchart is a web-based diagramming application that allows users to visually collaborate on drawing, revising and sharing charts and diagrams, and improve processes, systems, and organizational structures. It is produced by Lucid Software ...
*
OpenWindows
OpenWindows is a discontinued desktop environment for Sun Microsystems workstations which combined SunView, NeWS, and X Window System protocols. OpenWindows was included in later releases of the SunOS 4 and Solaris (operating system), Solaris ope ...
*
Scaleform
Scaleform Corporation is a developer providing middleware for use in the video game industry. As a result of Autodesk's acquisition of the company in March 2011, Scaleform has become part of the Autodesk Gameware line of middleware.
Products
*S ...
*
Wavemaker
WaveMaker is an enterprise grade Java low code platform for building software applications and platforms. WaveMaker Inc. is headquartered in Mountain View, California. For enterprises, WaveMaker is a low code platform that aims to accelerate the ...
List of development environments
IDEs with GUI builders (
RAD
RAD or Rad may refer to:
People
* Robert Anthony Rad Dougall (born 1951), South African former racing driver
* Rad Hourani, Canadian fashion designer and artist
* Nickname of Leonardus Rad Kortenhorst (1886–1963), Dutch politician
* Radley R ...
IDEs Ides or IDES may refer to:
Calendar dates
* Ides (calendar), a day in the Roman calendar that fell roughly in the middle of the month. In March, May, July, and October it was the 15th day of the month; in other months it was the 13th.
**Ides of Mar ...
)
*
4D
*
ActiveState Komodo
Komodo Edit is a free and open source text editor for dynamic programming languages. It was introduced in January 2007 to complement ActiveState's commercial Komodo IDE. As of version 4.3, Komodo Edit is built atop the Open Komodo project. Komodo ...
(No longer has a GUI builder)
*
Android Studio
Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. It is available for download on Windows ...
*
Anjuta
*
AutoIt3
*
B4X
*
C++Builder
C++Builder is a rapid application development (RAD) environment, originally developed by Borland and owned by Embarcadero Technologies (a subsidiary of Idera Software, Idera), for writing programs in the C++ programming language currently targeti ...
* Crank AMETEK Storyboard
*
Clarion
Clarion may refer to:
Music
* Clarion (instrument), a type of trumpet used in the Middle Ages
* The register of a clarinet that ranges from B4 to C6
* A trumpet organ stop that usually plays an octave above unison pitch
* "Clarion" (song), a 2 ...
*
Code::Blocks
*
CodeLite
CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript (Node.js) programming languages.
History
In August 2006, Eran Ifrah started an autocomplete project named CodeLite. The idea was to create a code completion library b ...
*
dBase
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system includes the core database engine, a query system, a forms engine, and a programming language ...
*
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
*
Embedded Wizard
Embedded Wizard is a User interface builder, 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 edi ...
*
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
*
Gambas
Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a re ...
*
IntelliJ IDEA
IntelliJ IDEA is an integrated development environment (IDE) written in Java (programming language), Java for developing computer software written in Java, Kotlin (programming language), Kotlin, Groovy (programming language), Groovy, and other ...
*
JDeveloper
JDeveloper is a freeware IDE supplied by Oracle Corporation. It offers features for development in Java, XML, SQL and PL/SQL, HTML, JavaScript, BPEL and PHP. JDeveloper covers the full development lifecycle from design through coding, debugging ...
*
KDevelop
KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with buil ...
*
LabWindows/CVI
LabWindows/CVI (CVI is short for C for Virtual Instrumentation) is an ANSI C programming environment for test and measurement developed by National Instruments. The program was originally released as LabWindows for DOS in 1987, but was soon revis ...
*
LANSA
*
Lazarus
*
Liberty BASIC
Liberty BASIC (LB) is a commercial computer programming language and integrated development environment (IDE). It has an BASIC interpreter , interpreter, developed in Smalltalk, which recognizes its own Programming language#Dialects, flavors and ...
*
Microsoft Visual Studio
Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such a ...
*
MonoDevelop
MonoDevelop (also known as Xamarin Studio) is an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar t ...
*
MSEide+MSEgui
*
MyEclipse
MyEclipse is a commercially available Java EE IDE created and maintained by the company Genuitec, a founding member of the Eclipse Foundation.
MyEclipse is built upon the Eclipse platform, and integrates both proprietary and open source code ...
*
NetBeans
NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
*
OutSystems
OutSystems is a Low-code development platform which provides tools for companies to develop, deploy and manage omnichannel enterprise applications.
OutSystems was founded in 2001 in Lisbon, Portugal.
In June 2018 OutSystems secured a $360M ro ...
*
PascalABC.NET
PascalABC.NET is a Pascal (programming language), Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions. It is implemented on the .NET Framework platform and conta ...
*
Purebasic
PureBasic is a commercially distributed procedural computer programming language and integrated development environment based on BASIC and developed by Fantaisie Software for Windows, Linux, and macOS. An Amiga version is available, although ...
*
Qt Creator
Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which e ...
*
SharpDevelop
SharpDevelop (also styled as #develop) is a discontinued free and open source integrated development environment (IDE) for the .NET Framework, Mono, Gtk# and Glade# platforms. It supports development in C#, Visual Basic .NET, Boo, F#, IronPyt ...
*
Softwell Maker
*
VisualFBEditor
*
WinFBE
*
Xcode
Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
*
Xojo
The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, the Web and Raspberry Pi. Xojo uses a propri ...
See also
*
Rapid application development
Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
*
Human interface guidelines
*
Human interface device
A human interface device or HID is a type of computer device usually used by humans that takes input from humans and gives output to humans.
The term "HID" most commonly refers to the USB-HID specification. The term was coined by Mike Van Fl ...
*
User interface markup language
A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a ...
*
User interface modeling User interface modeling is a development technique used by computer application programmers. Today's user interfaces (UIs) are complex software components, which play an essential role in the usability of an application. The development of UIs req ...
*
Design-Oriented Programming
*
Linux on the desktop
Besides the Linux distribution, Linux distributions designed for general-purpose use on desktops and servers, distributions may be specialized for different purposes including computer architecture support, Embedded Linux, embedded systems, stabili ...
References
{{Reflist
Graphical control elements
Graphical user interfaces
*