App development

Great!, you’d like to develop an app for Ubuntu Touch. Here are some resources that we hope help you get started.

If you have questions that aren’t answered in the docs or want to chat with other Ubuntu Touch developers? Join our app dev Telegram group or chat with us on the UBports app dev forum.

Getting Started

We use Clickable as our build system. Click here to get started using Clickable.

Want to know more about Clickable first? Clickable is a meta-build system for Ubuntu Touch applications that allows you to compile, build, test and publish click packages and provides various templates to get you started with app development. It is currently the easiest and most convenient way of building click packages for Ubuntu Touch. You can use any code editor or IDE that you choose and build your apps from the commandline with Clickable.

Ubuntu Touch supports two kind of apps. Native apps are apps with interfaces made using QML or HTML with their behavior defined in JavaScript, C++, Python, Rust or Go. Web apps are special containers to run websites in.

Applications are shipped as a Click package and can be publicly shared on the official app store OpenStore

Code Editor Integrations

  • Atom

    You can use clickable with the Atom Editor by installing the atom-clickable-plugin. This provides some common clickable tools needed to build and run click packages for Ubuntu Touch from within Atom editor.

  • QtCreator

    Available on top of clickable docker image, clickable ide qtcreator command within your project directory will launch a QtCreator instance and auto setup the project for you, you will have code completion and navigation for Ubuntu Touch components as well as run/debug facilities.

  • Ubuntu SDK ( Unmaintained )

    Alternatively there is the old Ubuntu SDK IDE. Be aware that it is no longer supported by Canonical, and UBports has chosen to not support it either due to lack of manpower.

    You can still install the SDK IDE in Ubuntu 16.04, but it is not guaranteed to work correctly. You can use the following commands to install:

    sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
    sudo apt update && sudo apt dist-upgrade
    sudo apt install ubuntu-sdk
    sudo reboot # or logout/login


After you are done building your app, distribute it on the OpenStore with our Publishing guides.


It is possible to develop cross-platform apps that don’t depend on Ubuntu specific APIs, although this is not the official way of developing apps for Ubuntu Touch. If running on other operating systems is an requirement for your app, you can refer to this APIs instead:

Sample apps

Learn more about app development by digging into our Sample apps.

Preinstalled apps

The Preinstalled apps page has information on developing the apps which are included with Ubuntu Touch.