GNOME Builder

Last updated
GNOME Builder
Original author(s) Christian Hergert
Initial releaseMarch 24, 2015;8 years ago (2015-03-24)
Stable release
45.0 [1]   OOjs UI icon edit-ltr-progressive.svg (16 September 2023;51 days ago (16 September 2023))
Repository
Written in C
Operating system Unix-like
Predecessor Anjuta
Available inMultilingual
Type Integrated development environment
License GPL-3.0-or-later [2] [3]
Website wiki.gnome.org/Apps/Builder

GNOME Builder is a general purpose integrated development environment (IDE) for the GNOME platform, primarily designed to aid in writing GNOME-based applications. [4] It was initially released on March 24, 2015. [5] The application's tagline is "A toolsmith for GNOME-based applications". [4]

Contents

Features

At GUADEC 2016 Christian Hergert provided a demo on YouTube of an upcoming version of GNOME Builder. More features will be integrated once GTK Scene Graph Kit will have been merged into GTK. sysprof was forked and its version number bumped from 1.2.0 to 3.20 [9] and was integrated in version 3.22. [10]

GNOME Builder uses GNOME Code Assistance to provide code diagnostics for CSS, HTML, JS, JSON, Python, Ruby, SCSS, shell script and XML. Jedi is used for code completion for Python. Clang is used for code assistance for the C-like languages. Rust diagnostics are provided by using the Language Server Protocol to communicate with the Rust Language Server.

User interface

Most of the interface is dedicated to the centrally positioned code editor. The editor automatically recognizes most programming languages and will highlight the text accordingly. When a version control system is used, colored bars next to the line numbers indicate changes to those lines. For supported languages, additional symbols highlight lines that contain errors or poorly formatted code.

Builder can switch between Builder's own, Vim-like and Emacs-like keyboard bindings.

Around the code-editor, additional panels can be toggled into view. These include a project-tree, a terminal-window, and a help-browser. The project tree allows the user to perform file and folder operations.

Development

The development of GNOME Builder was crowdfunded in January 2015 on the Indiegogo platform. The campaign reached 187% ($56,245) of its $30,000 funding goal. [11]

Version history

Version NumberRelease DateNotes
3.16.024 March 2015Initial "preview" release [5]
3.16.113 April 2015Included improvements to the user interface, file management and syntax highlighting. [12] [13]
3.16.216 April 2015Brought mostly bug fixes and some improvements to project management. [14] [15] [16] [17]
3.16.318 May 2015Included a source-overview-map for scrolling and updates to the preference-dialogs. [18]
3.18.023 September 2015Was released with the rest of GNOME 3.18. [19]
3.18.115 October 2015Brought improvements to Vala code completion and error-hinting. The Jedi-plugin for Python code-completion was improved as well. [20]
3.2023 March 2016Was released with GNOME 3.20. [21]
3.20.46 May 2016Included stability and performance improvements, [22] including re-implementation of support for opening remote files. [23]
3.22.22 November 2016Introduced preliminary support for Rust and its GTK bindings. [24]
3.22.422 December 2016Included various build system improvements and better support for building Flatpak packages [25]
3.32.03 March 2019Major refactoring of the application's code. [26] Included improved GDB integration and an initial Glade integration. [27]
3.32.26 May 2019Improvements to building apps and bug fixes. [28]
3.32.311 June 2019Included localization improvements, and bug fixes. [29]

See also

Related Research Articles

<span class="mw-page-title-main">Bluefish (software)</span> Text editor

Bluefish is a free and open-source software advanced text editor with a variety of tools for programming and website development. It supports coding languages including HTML, XHTML, CSS, XML, PHP, C, C++, JavaScript, Java, Go, Vala, Ada, D, SQL, Perl, ColdFusion, JSP, Python, Ruby, and shell. It is available for many platforms, including Linux, macOS and Windows, and can be used via integration with GNOME or run as a stand-alone application. Designed as a compromise between plain text editors and full programming IDEs, Bluefish is lightweight, fast and easy to learn, while providing many IDE features. It has been translated into 17 languages.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

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 build automation and version-control systems, using a plugin-based architecture.

<span class="mw-page-title-main">Gambas</span> Integrated development environment

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 recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

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

Anjuta was an integrated development environment written for the GNOME project. It had support for C, C++, Java, JavaScript, Python and Vala programming language. In May 2022, the project was archived due to a lack of maintainers. Since October 2022 the project's former homepage no longer exists and the domain is owned by an SBOBET, an Indonesian gambling website. It has been superseded by GNOME Builder.

<span class="mw-page-title-main">Glade Interface Designer</span> Graphical user interface builder

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 that is then used with an appropriate binding. See List of language bindings for GTK for the available ones.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

<span class="mw-page-title-main">Vala (programming language)</span> Programming language

Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.

Clutter is a discontinued GObject-based graphics library for creating hardware-accelerated user interfaces. Clutter is an OpenGL-based 'interactive canvas' library and does not contain any graphical control elements. It relies upon OpenGL (1.4+) or OpenGL ES for rendering,. It also supports media playback using GStreamer and 2D graphics rendering using Cairo.

<span class="mw-page-title-main">Geany</span> Integrated Development Environment

Geany is a free and open-source lightweight GUI text editor using Scintilla and GTK, including basic IDE features. It is designed to have short load times, with limited dependency on separate packages or external libraries on Linux. It has been ported to a wide range of operating systems, such as BSD, Linux, macOS, Solaris and Windows. The Windows port lacks an embedded terminal window; also missing from the Windows version are the external development tools present under Unix, unless installed separately by the user. Among the supported programming languages and markup languages are C, C++, C#, Java, JavaScript, PHP, HTML, LaTeX, CSS, Python, Perl, Ruby, Pascal, Haskell, Erlang, Vala and many others.

<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 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 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">AppStream</span> Linux application programming interface

AppStream is an agreement between major Linux vendors to create an infrastructure for application installers on Linux and sharing of metadata.

elementary OS Desktop operating system based on Ubuntu

elementary OS is a Linux distribution based on Ubuntu LTS. It promotes itself as a "thoughtful, capable, and ethical" replacement to macOS and Windows and has a pay-what-you-want model. The operating system, the desktop environment, and accompanying applications are developed and maintained by elementary, Inc.

<span class="mw-page-title-main">GNOME Software</span> GNOME application manager

GNOME Software is a utility for installing applications and updates on Linux. It is part of the GNOME Core Applications, and was introduced in GNOME 3.10.

<span class="mw-page-title-main">Snap (software)</span> Software deployment system for Linux by Canonical

Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel and the systemd init system. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system. Snap was originally released for cloud applications but was later ported to also work for Internet of Things devices and desktop applications.

<span class="mw-page-title-main">Fractal (software)</span> Messaging and collaboration software for GNOME based on the Matrix protocol

Fractal is an instant messaging client and collaboration software for the GNOME desktop based on the Matrix protocol.

<span class="mw-page-title-main">PipeWire</span> Free software for low-latency multimedia processing and sharing on Linux operating system

PipeWire is a server for handling audio, video streams, and hardware on Linux. It was created by Wim Taymans at Red Hat. It handles multimedia routing and pipeline processing.

<span class="mw-page-title-main">Foliate (software)</span> E-book reading application for Linux

Foliate is a free e-book reading application for desktop Linux systems. The name refers to leaves, meaning "(getting) leafy" or "…-leaved".

<span class="mw-page-title-main">GNOME Text Editor</span> Text editor for Linux

GNOME Text Editor is the default text editor for the GNOME desktop environment. The program is a free and open-source graphical text editor included as part of the GNOME Core Applications. GNOME Text Editor has been the default text editor for GNOME since GNOME version 42, which was released in March 2022. GNOME Text Editor replaces gedit as GNOME's default text editor, and was created due to the GNOME developers' intention of having all of their programs comply with GNOME's Human interface guidelines (HIG). The adherence to their HIG is done by using the libadwaita library, and making gedit compliant with that would have required an extensive rewrite of gedit's code, so a new program was written from scratch instead.

References

  1. Error: Unable to display the reference properly. See the documentation for details.
  2. Hergert, Christian (2014-09-07). "COPYING · master · GNOME/gnome-builder" . Retrieved 2020-04-26.
  3. "README.md · master · GNOME/gnome-builder".
  4. 1 2 "Builder: A toolsmith for GNOME-based applications". wiki.gnome.org. Retrieved 2020-04-23. A tool to help you write and contribute to great GNOME-based applications.
  5. 1 2 Hergert, Christian (2015-03-24). "GNOME Builder - 3.16.0". Gnome Mail Services. Retrieved 2020-04-23. As some of you know, I've just made our initial "preview" release, 3.16.0!
  6. Lerch, Ryan (2014-08-04). "Builder — a new IDE specifically for GNOME app developers". fedoramagazine.org. Retrieved 2020-04-26. […] GNOME Builder — an IDE that will focus purely on GNOME applications, with a goal of making it "Dead Simple".
  7. "Are we (I)DE yet?" . Retrieved 2018-11-27.
  8. Hergert, Christian (2016-01-21). "Builder Plugins – Part I". Zen and the Art of GNOME. Retrieved 2020-04-26. We support writing plugins in a variety of languages. Currently, C, Vala, and Python 3 are all supported in Builder.
  9. "sysprof in Debian". packages.debian.org. Debian . Retrieved 2020-04-26.
  10. Nestor, Marius (2016-10-17). "GNOME Builder 3.22.1 Adds Support for Sysprof Visualizers, Polishes the UI". Softpedia . Retrieved 2016-11-20.
  11. "Builder, An IDE of our GNOME". Indiegogo . 2015-01-27. Retrieved 2020-04-26. I need your support so that I can work on Builder full time. I'm asking for $30,000 to cover my costs […]
  12. Hergert, Christian (2015-04-13). "Gnome-Builder 3.16.1". gnome-announce-list (Mailing list). Retrieved 2020-04-26.
  13. Nestor, Marius (2015-04-17). "GNOME Builder IDE Gets a Massive Update in GNOME 3.16.1". Softpedia . Retrieved 2020-04-26.
  14. Hergert, Christian (2015-04-16). "Gnome-Builder 3.16.2". gnome-announce-list (Mailing list). Retrieved 2020-04-26.
  15. Hergert, Christian. "GNOME Builder - 3.16.2" . Retrieved 29 July 2015.
  16. Nestor, Marius (2015-04-19). "GNOME Builder 3.16's Second Point Release Brings More Improvements". Softpedia . Retrieved 2020-04-26.
  17. Clasen, Matthias (May 13, 2015). "GNOME 3.16.2 released". gnome-announce-list (Mailing list). Retrieved July 3, 2015.
  18. Hergert, Christian. "GNOME Builder - 3.16.3" . Retrieved 29 July 2015.
  19. Nestor, Marius (2015-09-22). "GNOME Builder 3.18 Officially Released Ahead of the GNOME 3.18 Desktop Environment". Softpedia . Retrieved 2020-04-26.
  20. Nestor, Marius (2015-10-16). "First Point Release of GNOME Builder 3.18 Brings Initial Support for Vala, Faster Autocompletion". Softpedia . Retrieved 2020-04-26.
  21. "GNOME 3.20 Released With Various Refinements And Application Updates". WebUpd8. Retrieved 8 April 2016.
  22. Hergert, Christian. "Builder 3.20.4". blogs.gnome.org. Retrieved 8 May 2016.
  23. Nestor, Marius (2016-05-07). "GNOME Builder 3.20.4 IDE Re-Implements Support for Opening Remote Files". Softpedia . Retrieved 2020-04-26.
  24. Nestor, Marius (2016-11-02). "GNOME Builder 3.22.2 Released with Technology Preview for Rust Support, More". Softpedia . Retrieved 2020-04-23. 3.22.2 also includes a technology preview for Rust support
  25. Nestor, Marius (2016-12-28). "GNOME Builder 3.24 Promises Big Features, 3.22.4 Improves Flatpak Support". Softpedia . Retrieved 2020-04-23. That's right, we're talking about GNOME Builder 3.22.4, […]. Notable changes include various build system improvements, better support for building Flatpak packages, […]
  26. Hergert, Christian (2019-01-17). "Builder 3.32 Sightings". Zen and the Art of GNOME. Retrieved 2020-04-23. We just landed the largest refactor to Builder since its inception. Somewhere around 100,000 lines of code where touched […]
  27. Larabel, Michael (2019-01-17). "GNOME's Builder IDE Goes Through Its Biggest Code Refactoring Ever". www.phoronix.com. Retrieved 2020-04-23. Some of the Builder 3.32 changes as part of this huge code refactoring include: […] Improved debugger integration with GDB. Initial Glade integration.
  28. "NEWS · fb19922e34420d84c89c68eeb614341c3f58ada3 · GNOME / gnome-builder · GitLab". GitLab. 2019-05-06. Retrieved 2023-11-06.
  29. "NEWS · da17179909ec1a1fbcb8aa713978804e970058a5 · GNOME / gnome-builder · GitLab". GitLab. 2019-06-12. Retrieved 2023-11-06.