Adwaita

Develop beautiful apps following the design guidelines of the GNOME desktop.

Read the documentation to get started or browse the code.

The Backend

The Adwaita backend is based on the libadwaita C API. libadwaita is used for developing native GNOME apps.

The Development Environment

It is recommended to develop Libadwaita apps on a Linux system. Linux is probably available for your device and can be installed alongside Windows or macOS. I recommend picking a Linux distribution offering a vanilla GNOME experience, such as Fedora or VanillaOS.

Now, install GNOME Builder via the GNOME Software application.

Flatpak

Flatpak facilitates the distribution of apps on Linux. If you decide to use Flatpak already when developing the app, you do not have to install any dependencies on your system. Simply clone the template repository, open in GNOME Builder, and run the template app. Follow the instructions in the readme file to create your own app.

GNOME Builder and a todo app

The Design

This backend allows the creation of apps following the GNOME Human Interface Guidelines. The following screenshot serves as an example for GNOME’s design language.

A native GNOME app called Tuba

Distribution

The apps can be distributed using Flatpak. The most popular app store is Flathub. Read the instructions in the official docs.

Aparoksha Interoperability

This backend is part of the Aparoksha package. If you use default Aparoksha elements, they will render correctly on GNOME. You can call platform-specific widgets for GNOME as well.