Skip to content

Developer Guides

TIP

Workbench is an interactive tool with over a hundred JavaScript demos of the GNOME platform.

GJS

Welcome to GJS!

Introduction

How does GJS compare to other JavaScript environments?

Asynchronous Programming

How does GJS combine an event loop, the Promise API and task threads?

Style Guide

The official style guide for GJS and GNOME projects written in GJS.

Tips On Memory Management

Tips on memory management in GJS.

GLib

A low-level utility library

GVariant

A memory efficient data format used in D-Bus, GSettings and more

GObject

Getting to know GObject

The Basics

A gentle introduction to GObject

Subclassing

How to subclass and extend GObject

Interfaces

How to implement GObject Interfaces

GType

The foundation of the GObject system

GValue

A generic value container, rarely exposed in JavaScript

Advanced

Advanced usage of GObject, properties and signals.

Gio

Looking for help with files or application settings?

Actions and Menus

High-level activatable and stateful actions, for menus or UI

D-Bus

D-Bus inter-process communication in GJS

File IO in GJS

Basic File Operations in GJS

List Models

List model API implementation and usage

Subprocesses in GJS

Spawning subprocesses in GJS

GTK

Looking for help building an application?

Building an Application

New to GTK or using it with GJS? This is for you!

Application Packaging

How do I package my GTK application with GJS?

MIT Licensed | GJS, A GNOME Project