From amateur to expert developer, our tutorials will show you to develop an app for Nextcloud, as well as how to reproduce bugs and do basic troubleshooting.
At Nextcloud, we focus on open source app development and are committed to providing our community all the tools they need to transform their ideas into real Nextcloud apps.
Why Nextcloud Apps?
Jump start 🚀
Get all the basics to build your app: authentication, file handling & sharing, access control, mobile & desktop clients, and more.
Open source 💙
As all of the code at Nextcloud is open source, you can draw inspiration from the code of other apps.
Strong community 👩💻
Be part of the awesome open-source community that is welcoming and encouraging.
Big audience 🌍
With between 200k-300k Nextcloud servers on the web, the most downloaded apps are installed on over 100k servers and have millions of users!
Free promotion 📢
If you create an app, extension or integration, Nextcloud will help you promote it. We are happy to work with you!
Business opportunity 🙌
If you build an app, script, extension or tool as a business endeavor, we will be happy to support your effort. We love our ecosystem and want you to benefit from it!
Read on to discover our new Nextcloud App development tutorials, including setting up your environment, developing your actual app, testing, and troubleshooting.
1. Setting up a development environment
Dive right in by setting up your environment, locally or in GitHub Codespaces.
If you prefer to work locally, we offer tutorials for Ubuntu, Mac, and Windows. Depending on your operating system, this will take between half an hour to a few hours to set up.
You can also use this video explaining how to set up your development environment on a Mac operating system:
Do you prefer to work in GitHub? This tutorial offers a great solution 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 and the “ToGif” ExApp development tutorial.
2. How to develop an app: Your first app, a dashboard widget, and integration with Smart Picker
Now you’re ready to start developing your app! At Nextcloud, you will find tutorials to:
Once done, you can start on the next tutorial: Developing a dashboard widget with Vue.js. With a widget you can make your app really come alive on the Nextcloud dashboard.
And you don’t need any Javascript knowledge to make it happen.
Do you want to go a bit further? Integrate your with an external provider with Smart Picker to create integrations and interactions with my different Nextcloud apps.
This includes Nextcloud Text, Nextcloud Talk, Nextcloud Notes, Nextcloud Deck, Nextcloud Collectives, and Nextcloud Mail.
3. The next level: How to develop an app with a navigation bar and database and add automated testing
With the next tutorial, you will learn how to develop a basic but complete app that can take notes. Based on that example, you can create your own app with a navigation bar and database.
Make sure you have the right setup before getting started
For this tutorial you should have a development environment created through the Nextcloud Docker setup. This is the only Nextcloud instance that you need for this tutorial as everything will happen in this instance.
After you’ve set up your own app, you can learn how to add automated tests with GitHub Actions, a continuous integration and continuous delivery (CI/CD) platform to automate your development workflow.
With GitHub Actions, app developers like you don’t have to deploy a test environment for all the different Nextcloud, PHP and database system versions.
After the tutorial you will know how to:
Use GitHub Actions to set up a specific Nextcloud test environment
Configure which tests to run
Implement tests
See if the tests have run successfully
4. How to develop an app in other programming languages
The previously mentioned tutorials show you how to develop Nextcloud apps using PHP, but some developers do not want to use PHP for various reasons.
That’s why we have developed an API that allows developers to write Nextcloud apps in any desired programming language. We call these “ExApps” (short for “external apps”).
With ExApps, you can integrate complex computational functions, such as machine learning, to be deployed on external hardware. With Nextcloud Hub 10, we worked on the AppAPI to make it even more robust and ready for a big variety of apps.
In our tutorial, you will learn how to develop an ExApp in Python, but similar principles can be applied to any other programming language as well.
Extra: Basic troubleshooting techniques, reproducing bugs, and testing
Is your app not functioning as expected? Do you not know why the code is not working properly? Then it’s time for some basic troubleshooting tips, including:
How to restart your Nextcloud instance
How to access the browser console
How to get the nextcloud.log file
Of course, it’s better to prevent than to cure. That’s why you can launch different versions of Nextcloud to reproduce bugs, test pull requests (PRs), or test user experience (UX) changes.
How to develop an app for Nextcloud
See all of our developer tutorials, featured apps, and more!
Ti presentiamo Nextcloud Talk “Munich”, la piattaforma di comunicazione open source e digitalmente sovrana per i team ibridi, che rappresenta una solida alternativa ai cloud delle Big Tech. Ora ancora più resiliente, potente e facile da utilizzare fin da subito. Per saperne di più.
Dai il benvenuto Nextcloud Hub 10. La nostra ultima versione è caratterizzata da prestazioni migliorate in ogni app, una maggiore integrazione in tutta la piattaforma e decine di nuove funzionalità che ti faciliteranno la giornata.
Le organizzazioni, grandi e piccole, necessitano di una soluzione che garantisca la resilienza e la sovranità digitale delle loro operazioni: un'alternativa open source e rispettosa della privacy a Teams. E oggi presentiamo questa soluzione: Nextcloud Talk.
Passionate about data privacy and Nextcloud? We invite you speak at the Nextcloud Community Conference to share your experience, knowledge and news with the community!
Salviamo alcuni cookie per contare i visitatori e rendere il sito più facile da usare. Questi dati non lasciano il nostro server e non servono a tracciare il tuo profilo personale! Per maggiori informazioni, consulta la nostra Informativa sulla privacy. Personalizza
I cookie statistici raccolgono informazioni in forma anonima e ci aiutano a capire come i visitatori utilizzano il nostro sito web. Utilizziamo Matomo in cloud.
Servizio:Matomo
Descrizione del cookie:
_pk_ses*: Conta la prima visita dell'utente
_pk_id*: Aiuta a non contare due volte le visite.
mtm_cookie_consent: Ricorda il consenso alla memorizzazione e all'utilizzo dei cookie dato dall'utente.
Scadenza del cookie:_pk_ses*: 30 minuti
_pk_id*: 28 giorni
mtm_cookie_consent: 30 giorni
Comments