Develop for Nextcloud: App development tutorials
Nextcloud provides a robust platform for creating apps that enhance the functionality of its file-sharing and collaboration ecosystem.
This page provides quick links to:
Nextcloud app development tutorials
Nextcloud provides the possibility to implement apps as part of the core (written in PHP and Vue.js). There is also the possibility to implement apps that run outside the server as micro services written in any programming language of your choice, using AppAPI. First, you will need a development environment.
There are two recommended ways to set up a development environment. If you don’t have much time you can use GitHub Codespaces. If you want a development environment for larger projects, you can setup a local development environment using Docker or deploying the components manually.
Nextcloud API References
Nextcloud exposes various APIs to interact with its core services. Understanding these APIs and having the documentation on the available endpoints at hand is crucial for app development. Here are some essential API references that you can bookmark for when you need to search for a specific capability in the API:
Developer documentation
The Nextcloud developer manual is your comprehensive guide to app development. It covers the basics, best practices, and coding guidelines.
Example Apps
Learning from examples is an effective way to understand app development. Explore existing Nextcloud apps in the Nextcloud App Store to see how they are built.
Other ways to contribute
Nextcloud and all its apps are fully open source, so you can also contribute to existing software and existing apps on GitHub. If you want to help with reproducing bugs or reviewing PR’s we have a tutorial how to easily set up a test environment. All software is translated by volunteers on Transifex.
Get support from the community
We have various channels where community members help each other with app development. We have a Talk room for developers, a dedicated category in our home user forum for development, and an e-mail newsletter for developers.

