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!
Nous vous présentons Nextcloud Talk « Munich » - une plateforme de communication open source numériquement souveraine pour les équipes hybrides qui offre une réponse solide aux nuages des Big Tech. Maintenant encore plus résiliente, puissante et facile à démarrer. En savoir plus pour plus de détails.
Bienvenue à Nextcloud Hub 10. Notre dernière version offre des performances accrues dans chaque application, une intégration plus poussée sur l'ensemble de la plateforme et des dizaines de nouvelles fonctionnalités qui vous faciliteront la vie.
Les organisations, petites et grandes, ont besoin d'un moyen d'assurer la résilience et la souveraineté numérique de leurs opérations - une alternative à Teams, open-source et respectueuse de la vie privée. Aujourd'hui, nous vous présentons cette solution - Nextcloud Talk.
Nous vous présentons une mise à jour majeure de l'assistant Nextcloud IA, ainsi que de nouvelles informations sur notre collaboration avec plusieurs grands fournisseurs d'hébergement tels que IONOS et OVHcloud pour vous proposer des options d'IA en tant que service !
Bechtle et Nextcloud ont annoncé aujourd'hui une plateforme de collaboration entièrement administrée pour le secteur public, qui ne nécessite pas d'appel d'offres et peut être déployée immédiatement.
Découvrez comment passer de ownCloud à Nextcloud. Notre outil d'aide à la migration fournit des informations sur le processus de migration et vous aide à effectuer la transition en douceur.
Au cours de la dernière année, l'IA est devenue un sujet à la mode. Il y a de l'engouement, mais aussi du fondement. Il y a du positif et du négatif. Nous voulons vous offrir le positif, pas le négatif, et ignorer le battage médiatique ! […]
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!
Nous enregistrons certains cookies pour compter les visiteurs et faciliter l'utilisation du site. Ces données ne quittent pas notre serveur et ne sont pas destinées à vous suivre personnellement ! Consultez notre politique de confidentialité pour plus d'informations Personnaliser
Les cookies utilisés pour enregistrer les données saisies dans les formulaires, telles que le nom, l'adresse électronique, le numéro de téléphone et la langue préférée.
Nom du cookie :nc_form_fields
Description du cookie :Mémorise les données saisies dans les formulaires pour une prochaine visite (nom, adresse électronique, numéro de téléphone et langue préférée).
Les cookies statistiques collectent des informations de manière anonyme et nous aident à comprendre comment nos visiteurs utilisent notre site web. Nous utilisons la solution open source de mesure de statistiques web Matomo
Service:Matomo
Description du cookie :
_pk_ses*: Compte la première visite de l'utilisateur
_pk_id*: Aide à ne pas compter deux fois les visites.
mtm_cookie_consent: Se souvient que l'utilisateur a donné son accord pour le stockage et l'utilisation de cookies.
Expiration du cookie :_pk_ses*: 30 minutes
_pk_id*: 28 jours
mtm_cookie_consent: 30 jours
Comments