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