Overview of all tutorials

Hello Nextcloud friends,

As part of the Nextcloud developer programme we are developing a series of tutorials. These tutorials will guide you through setting up your development environment, to creating your first apps.

You can find all tutorials here: :arrow_down:

Nextcloud app development tutorials

We have the following tutorials available:

Setting up a development environment (for Ubuntu, Mac, and Windows)

In this tutorial you will learn how to set up your development environment using docker. After this tutorial you will know:

  • How to install the docker desktop app on your machine
  • How to run Nextcloud locally

Set up a quick development environment with GitHub Codespaces

With this tutorial you can set up a development environment quickly. This is great for workshops or if you just quickly want to dip your toes in Nextcloud development. With this development environment, you can follow the “Hello World” app development tutorial. If you are looking for a more permanent solution or want to do more advanced tutorials, we recommend you to set up a local development environment for which we also have a tutorial.

Develop your first Hello World app

In this tutorial you will learn how to develop a simple Hello World app. After this tutorial you will know:

  • How a Nextcloud app is structured
  • How to create an app with a simple page
  • How to display some simple elements in your app like a button or some text.

Developing a simple interface-only app

In this tutorial you will learn how to develop a simple standalone app. After this tutorial you will know:

  • How to create a simple interface-only app
  • How to compile javascript
  • How to use network requests

Developing a dashboard widget with Vue.js

In this tutorial you will learn how to develop a dashboard widget with Vue.js. We will first create a simple dashboard widget without Vue.js to explain the concepts around dashboard widgets, and then we will create a second dashboard widget with the Vue.js components. After this tutorial you will know:

  • How to implement a simple dashboard widget with Javascript
  • Repetition of app architecture concepts that were introduced in the previous tutorials
  • Introduction to adding translations to your app
  • Introduction to using Vue.js by building a dashboard widget using Nextcloud Vue.js components

Developing an integration with external provider using Smart Picker

In this tutorial you will learn how to develop an integration with external provider using the Smart Picker. Smart Picker is a feature that comes with Nextcloud Hub 4 (Nextcloud 26) and is the easiest and fastest way to create integrations that also interact with many different Nextcloud apps. After this tutorial you will know:

  • How to add a unified search provider which searches in your external software using a web service API
  • How to make the Smart Picker able to use this search provider to get links to external resources
  • How to ensure these links get rendered in Nextcloud apps like Text, Talk, Notes, Deck, Collectives, and Mail
  • How to customise the rendering of these links
  • How to create admin settings
  • Additionally, you will learn how to update your development environment so you are developing against the latest development release of Nextcloud.

Developing a complete app with a navigation bar and database

In this tutorial you will learn how to develop a complete app. We will be developing a basic app for taking notes. In this tutorial you will learn:

  • How to create a standalone app with a navigation menu
  • How to use the database
  • How to extend Nextcloud’s API with your app’s endpoints
  • How to export data that is stored by your app in the database to a file

Adding automated tests to your app

In this tutorial you will learn how to set up automated tests on your app using GitHub actions. GitHub actions is a great tool for app developers, because with this tool app developers don’t have to deploy a test environment for all the different Nextcloud, Php and database system versions. It is also convenient to have tests being triggered automatically so they are running for each pull request, for example. In this tutorial you will learn:

  • How to use GitHub actions to set up a specific Nextcloud test environment
  • How to configure which tests to run
  • How to implement tests
  • How to see if the tests ran successfully

Basic app development troubleshooting

This tutorial is useful if you are running into issues with your app. In this tutorial you will learn:

  • How to restart your development environment
  • How to access your browser console
  • How to access your Nextcloud.log file
  • Where to ask questions

Reproducing bugs and testing PR’s with a test environment

This tutorial is useful if you want to help with reproducing bugs in the Nextcloud core or Nextcloud core apps or if you want to help with testing PR’s to the Nextcloud core or Nextcloud core apps.
After this tutorial you will know:

  • How to set up a local Nextcloud environment for testing purposes
  • How to test PR’s for Nextcloud
  • How to quickly reproduce bugs on different Nextcloud versions and get logs
  • How to set up multiple environments for user testing UX changes

Stay tuned, more coming soon!

You can find all tutorials here: :arrow_down:

Nextcloud app development tutorials

:clapper: Video tutorial available

@MariusQuabeck made a video tutorials about how to set up your development environment, and developing a simple interface-only app.

5 Likes