All Projects → elementary → docs

elementary / docs

Licence: other
Documentation for 3rd-party app development
description
Creating and distributing apps for elementary OS

Getting Started

What is (and Isn't) Covered

No experience in writing apps for elementary OS is assumed, but basic programming knowledge is. A little experience with Vala (or at least similarly syntaxed languages) will be valuable. If you're not familiar with Vala, there are great resources (text and video) available for learning Vala on Valadoc.org.

Design is covered in the Human Interface Guidelines (HIG). We reference the HIG throughout this guide and it's important you grasp the concepts proposed there, but this guide is focused primarily on code.

Writing Apps

This guide details:

  • Building apps using GTK, Granite, and other technology available in elementary OS
  • Setting up a build system
  • Hosting your code for collaborative development
  • Working with translations
  • Packaging and distributing your new app on AppCenter
  • Working with Platform APIs

You may feel confident enough to jump straight into writing your first appp:

{% page-ref page="writing-apps/our-first-app/" %}

However, we strongly recommend to at least skim "The Basic Setup" first. Having the right setup is going to help you reach your goals faster, and a solid foundation is going to help you throughout the rest of this book.

{% page-ref page="writing-apps/the-basic-setup.md" %}

AppCenter Publishing Requirements

There are also a number of technical, metadata, legal, and other requirements for publishing your app to users via AppCenter.

{% page-ref page="appcenter/publishing-requirements.md" %}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].