# Apps

Das **Shopware 6 App System** ist ein erweiterbares Framework, das es Entwicklern ermöglicht, Funktionserweiterungen für Shopware 6 als eigenständige Apps bereitzustellen. Diese Apps können neue Features hinzufügen, bestehende Prozesse modifizieren oder externe Dienste integrieren, ohne den Shopware-Core zu verändern.

### Zielsysteme

Shopware Apps können sowohl in selbst gehosteten Shopware Shops als auch für SaaS (Cloud) und PaaS (Cloud) Shops verwendet werden.

### **Kernmerkmale des Shopware 6 App Systems**

1. **Entkopplung vom Shopware-Core**
   * Apps arbeiten über APIs und Webhooks, sodass sie updatesicher sind und keine direkten Änderungen am Quellcode von Shopware erfordern.
2. **Einsatz von Webhooks und APIs**
   * Shopware 6 stellt eine **REST API** und eine **GraphQL API** bereit, über die Apps mit dem System kommunizieren können.
   * Webhooks ermöglichen das Reagieren auf bestimmte Ereignisse im Shop (z. B. Bestellung abgeschlossen).
3. **Host-unabhängige Entwicklung**
   * Apps laufen auf einem externen Server (z. B. in der Cloud oder On-Premises) und kommunizieren über eine gesicherte Verbindung mit Shopware.
4. **Einfache Installation und Verwaltung**
   * Apps werden im **Shopware Store** angeboten und können über das Admin-Panel installiert und konfiguriert werden.
5. **App-Templates & UI-Erweiterungen**
   * Über die **Administration Extension API** können Apps das Shopware-Admin-Panel erweitern.
   * Mit **App Scripts** lassen sich bestimmte Frontend- und Backend-Prozesse beeinflussen.
6. **Datenmodell & Ereignissteuerung**
   * Apps können eigene **Konfigurations-Entities** und **Datenstrukturen** verwalten.
   * Sie können Shopware-Ereignisse abonnieren und darauf reagieren.

### **Unterschied zu Plugins**

Während klassische **Plugins** direkt in die Shopware-Umgebung integriert werden und PHP-Code enthalten, sind **Apps** komplett extern und kommunizieren über APIs. Dadurch sind sie **updatefreundlicher und flexibler**, haben jedoch weniger tiefen Zugriff auf den Core.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.premsoft.de/apps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
