Prologue
Getting started
Basic concepts
App development
ExApp development
Server development
Digging deeper
AI & Machine Learning
APIs & Integration
Users & Authentication
Groupware & Workflows
Search & Discovery
Development Tools
Debugging
Profiler
Continuous Integration
NPM
Performance considerations
Classloader
PSR
Server Internals
App publishing and maintenance
Interface & interaction design
HTML/CSS guidelines
Clients and Client APIs
Desktop Clients
Nextcloud latest Developer Manual
Digging deeper
Development Tools
Edit on GitHub
Development Tools
Debugging
Debug mode
Identifying errors
Debugging variables
Using a PHP debugger (XDebug)
Debugging JavaScript
Debugging HTML and templates
Debugging SQL queries
Using alternative app directories
Profiler
Get the app
Enable the app
Disable the app
Using the app
Contributing
Continuous Integration
Linting
Static analysis
NPM
npm build
npm run dev, npm run watch
npm test
npm run lint (optional)
Performance considerations
PHP Performance
Database performance
Cached data
Getting help
Classloader
Server autoloading
App autoloading
PSR
PSR-0: Autoloading
PSR-3: Logger Interface
PSR-4: Autoloading
PSR-11: Container Interface
PSR-20: Clock
☁️ latest
☁️ Versions
latest
stable
32
31