Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
119 lines (75 sloc) 4.46 KB

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

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. :ref:`Native apps <nativeapp>` are apps with interfaces made using QML or HTML with their behavior defined in JavaScript, C++, Python, Rust or Go. :ref:`Web apps <webapp>` are special containers to run websites in.

Applications are shipped as a :ref:`Click <click>` package and can be publicly shared on the official app store OpenStore

.. toctree::
    :maxdepth: 1
    :name: toc-app-types

    nativeapp/index
    webapp/index

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
    

Guides

Get started building your first app or learn about advanced concepts with our :ref:`Developer guides <devguides>`.

.. toctree::
    :maxdepth: 1
    :name: toc-dev-guides

    guides/index
    guides/cookbook
    guides/contenthub
    guides/importing-CH-urldispatcher
    guides/pushnotifications
    guides/user-metrics
    guides/writeable-dirs
    guides/dependencies

Publishing

After you are done building your app, distribute it on the OpenStore with our :ref:`Publishing guides <publishing>`.

.. toctree::
    :maxdepth: 1
    :name: toc-publishing

    publishing/index

Documentation

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:

Platform

.. toctree::
    :maxdepth: 1
    :name: toc-devdocs

    platform/index
    platform/click
    platform/apparmor


Sample apps

Learn more about app development by digging into our :ref:`Sample apps <sampleapps>`.

.. toctree::
    :maxdepth: 1
    :name: toc-sample-apps

    samples/index


Preinstalled apps

The :doc:`/contribute/preinstalled-apps` page has information on developing the apps which are included with Ubuntu Touch.