Aplikacje tworzone dla systemu Ubuntu Touch można podzielić na dwa rodzaje – webowe i natywne. Pierwsze to strony internetowe renderowane przy pomocy webview Oxide uruchamianego wewnątrz kontenera aplikacji internetowych. Drugie to aplikacje zdolne do pełnego wykorzystania zasobów i możliwości urządzenia, tworzone przy pomocy Qt QML w połączeniu z innymi językami programowania, np. C++, JavaScript czy Python. W poniższym tekście skupimy się na aplikacjach natywnych budowanych za pomocą QML i C++.