Introduction¶
Apps for the Librem 5 will be typically built using the open source GTK+ toolkit. In fact many of the apps available will be ported from already existing GTK+ apps which are part of the GNOME environment. In your efforts to write an app or port a current app to the Librem 5, you are likely going to use GTK+ and the tooling around it for development.
The Tools¶
- GNOME Builder
 - flatpak, flatpak-builder (Your app package format)
 - flatpak runtimes
 - Librem 5 emulator
 - GTK+ (UI toolkit)
 - GNOME environment (Librem 5 runs GNOME by default)
 - libhandy (library with GTK+ widgets for mobile phones)
 
The Workflow¶
A typical developer workflow will involve something of this sort:
- Install flatpak and flatpak-builder
 - Install GNOME Builder
 - Git checkout a Gnome app to port, or start a new GNOME Application project within GNOME Builder
 - Adjust dependencies for the project to pull in libhandy or other possible requirements
 - Adjust project code and/or xml files for UI changes to accommodate for mobile
 - Build a flatpak from GNOME Builder
 - Copy flatpak into the emulator, install flatpak on emulator, run flatpak app on emulator
 - Debug issues
 - Rinse and repeat until your app works well on the Librem 5 emulator
 - Contribute the app or port