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:
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
- How to add a template app to your local Nextcloud
Developing a simple files plugin
In this tutorial you will learn how to develop a simple files plugin. After this tutorial you will know:
- How the skeleton app is structured
- How actions of a files plugin are structured
- How to use the application.php file to define when the files plugin actions have to run
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:
Nextcloud app development tutorials
Video tutorial available
@MariusQuabeck made a video tutorials about how to set up your development environment, developing a simple files plugin, and developing a simple interface-only app.