Ob eine Erweiterung als App oder als Plugin gebaut wird, entscheidet über Update-Sicherheit, Betriebsmodell und Wartungsaufwand Ihres Shops - lange bevor die erste Zeile Code entsteht. Shopware bietet bewusst zwei Erweiterungssysteme: das App-System, das über API und Webhooks kommuniziert und isoliert läuft, sowie das klassische Plugin, das als Symfony-Bundle direkt im Core arbeitet. Über 100.000 (Shopware) Händler weltweit setzen auf Shopware - für jeden von ihnen ist diese Architekturfrage relevant. Dieser Leitfaden zeigt, wann welches System die richtige Wahl ist und wie wir als Shopware-Agentur die passende Erweiterungsstrategie entwickeln.
Zwei Erweiterungssysteme, eine strategische Entscheidung
Shopware ist laut EHI-Studie 2025 zum vierten Mal in Folge das meistgenutzte Shopsystem in Deutschland und liegt bei 11,5% (Shopware/EHI) der Top-1.000-Onlineshops vorn - das sind 115 (Shopware/EHI) der umsatzstärksten Shops des Landes. Deren Netto-Umsatz erreichte 2024 zusammen 80,4 Milliarden Euro (EHI/eCommerceDB). Wer auf dieser Plattform baut, trifft früh eine grundlegende Weichenstellung: App oder Plugin.
Beide Systeme lösen dieselbe Aufgabe - den Shop um Funktionen zu erweitern - auf grundverschiedene Weise. Das App-System hält die Logik außerhalb des Shops und spricht ihn über Schnittstellen an. Das Plugin wird Teil des Shops und greift direkt auf dessen Services zu. Die Wahl bestimmt, ob Ihre Erweiterung in der Cloud läuft, wie update-sicher sie ist und wie viel Wartung sie über die Jahre verursacht. Sie ist damit eine E-Commerce-Architekturentscheidung, keine reine Geschmacksfrage.
In vielen Projekten fällt diese Entscheidung nebenbei - nach Gewohnheit, nach dem, was das Team kennt, oder nach der erstbesten Erweiterung im Store. Das rächt sich später: Ein Plugin, das eigentlich eine App hätte sein sollen, blockiert den Wechsel in die Cloud; eine App, die tief in den Checkout eingreifen müsste, stößt an die Grenzen ihrer Sandbox. Eine fundierte Architektur-Beratung ersetzt das Bauchgefühl durch eine begründete Zuordnung jeder Funktion zum passenden System - genau darum geht es in diesem Leitfaden.
Shopware Cloud und Self-Hosted nutzen unterschiedliche Erweiterungssysteme. Cloud-Shops können keine klassischen Plugins installieren und sind auf das App-System beschränkt (Shopware Documentation). Wer sich für ein Betriebsmodell entscheidet, legt damit zugleich die verfügbare Erweiterungswelt fest - deshalb gehört die Architekturfrage an den Anfang jedes Projekts.
Das App-System: API, Webhooks und Isolation
Das App-System verlagert die Geschäftslogik einer Erweiterung in ein externes System. Shopware kommuniziert mit der App ausschließlich über HTTP-Anfragen (Shopware Developer Documentation): Ereignisse laufen per Webhook, Daten über die API. Das App-System ist bewusst vom Core entkoppelt (Shopware Developer Documentation) - Entwickler müssen nur die Schnittstelle zwischen Shopware und ihrer App verstehen, nicht die internen Strukturen, und sind in der Wahl von Programmiersprache und Framework frei.
manifest.xml
Die zentrale Schnittstelle zwischen App und Shopware (Shopware Developer Documentation). Sie deklariert Berechtigungen, Webhooks und Konfiguration - ohne Eingriff in den Core und ohne kompilierten Code im Shop.
Webhooks und API
Shopware informiert die App per Webhook über Ereignisse, die App fragt Daten über die REST-Admin-API ab. Diese Server-zu-Server-Kommunikation ist der Kern des App-Modells.
App-Scripts
Seit Shopware 6.4.8.0 (Shopware Developer Documentation) führen Apps eigene Twig-Skripte in einer sandboxed Umgebung aus - etwa zur Anpassung des Warenkorbs, ganz ohne PHP im Core.
Isolation
Apps laufen entkoppelt vom Shop (Shopware Developer Documentation). Ein Fehler in der App legt nicht den Core lahm, und ein Shopware-Update bricht die App nicht, solange die Schnittstelle stabil bleibt.
In der Praxis registriert sich eine App beim ersten Aktivieren über einen signierten Handshake und erhält anschließend zeitlich begrenzte Zugangsdaten für die API. Für den Massendatenaustausch - etwa Tausende Produkte oder Bestellungen - steht die Sync-API bereit, die mehrere Schreibvorgänge gebündelt verarbeitet. So bleibt die Kommunikation auch bei großen Datenmengen effizient, ohne dass die App jemals direkten Zugriff auf die Datenbank des Shops benötigt (Shopware Developer Documentation).
Der entscheidende Vorteil: Durch die Entkopplung ist eine App automatisch mit mandantenfähigen Cloud-Systemen kompatibel (Shopware Developer Documentation) und läuft ebenso im Self-Hosted-Betrieb - dieselbe Erweiterung, zwei Betriebsmodelle. Auch spezialisierte Funktionen sind abgedeckt: App-basierte Zahlungsarten gibt es seit Shopware 6.4.1.0 (Shopware Developer Documentation), eigene Rule-Builder-Bedingungen seit Shopware 6.4.12.0 (Shopware Developer Documentation). Für viele Integrationsszenarien ist damit kein Plugin mehr nötig.
Wenn eine Erweiterung vor allem Daten bewegt oder mit einem externen Dienst spricht, ist das App-System meist die zukunftssichere Wahl: cloud-tauglich, update-stabil und über mehrere Shops hinweg wiederverwendbar.
Das Plugin-System: Symfony-Bundles mit Core-Zugriff
Ein Plugin ist eine dünne Abstraktionsschicht auf dem Bundle-System von Symfony (Shopware Developer Documentation) und wird damit Teil der Anwendung. Es kann tief in Shopware-Prozesse und -Module eingreifen: über Dependency Injection eigene Services registrieren, per Data Abstraction Layer (DAL) Daten lesen und schreiben, Events abonnieren und die Storefront-Templates verändern. Diese Nähe zum Core ist die eigentliche Stärke des Plugin-Modells.
- Eigene Entitäten: Neue Datenmodelle über die DAL, inklusive Migrationen und Repository-Zugriff
- Prozess-Logik: Cart-Processor und -Collector für individuelle Preis-, Rabatt- und Warenkorb-Regeln im Checkout
- Event-Subscriber: Reaktion auf interne Ereignisse ohne Netzwerk-Umweg, direkt im Shopware-Prozess
- Storefront und Admin: Twig-Templates überschreiben, eigene Administration-Module und Komponenten ergänzen
- Scheduled Tasks: Wiederkehrende Aufgaben über die Message-Queue innerhalb des Shops
- Service-Dekoration: Bestehende Symfony-Services erweitern oder gezielt überschreiben
Diese Tiefe hat einen Preis: Plugins laufen ausschließlich in Self-Hosted-Installationen und benötigen serverseitigen PHP-Zugriff. Aktuelle Versionen setzen PHP 8.2 oder 8.3 voraus (Shopware Documentation) - Shopware 6.7 ergänzt seit dem Release im Mai 2025 die Unterstützung für PHP 8.4 (Shopware). Der Betreiber verantwortet Server, Updates und Kompatibilität selbst, was ein verlässliches Hosting und eine saubere Update-Strategie voraussetzt.
Technisch bringt jedes Plugin eine Basisklasse mit, die den Lebenszyklus steuert: Installieren, Aktivieren, Deaktivieren, Deinstallieren und Aktualisieren lassen sich gezielt behandeln - etwa um beim Update Datenbankschemata sauber zu migrieren. Über den Symfony-Service-Container werden eigene Services registriert und bestehende dekoriert. Diese Kontrolle über den gesamten Lebenszyklus ist ein Grund, warum komplexe Fachlogik häufig weiterhin als Plugin umgesetzt wird.
Weil ein Plugin Teil der Anwendung wird, ist es an die Shopware-Version gebunden. Größere Core-Updates können Anpassungen erfordern. Der Gewinn an Möglichkeiten wird also mit höherer Verantwortung für Pflege und Kompatibilität erkauft - ein Aspekt, der bei der Architekturentscheidung mitgedacht werden muss.
App oder Plugin: der direkte Vergleich
Die folgende Gegenüberstellung fasst die wesentlichen Unterschiede zusammen. Sie ersetzt keine Einzelfallbetrachtung, macht aber die grundlegend verschiedene Natur der beiden Systeme sichtbar.
| Kriterium | App-System | Plugin |
|---|---|---|
| Ausführungsort | externer Server, entkoppelt | im Shopware-Core |
| Kommunikation | Webhooks und HTTP-API | Services, Events, DAL |
| Programmiersprache | frei wählbar | PHP / Symfony |
| Betriebsmodell | Cloud und Self-Hosted | nur Self-Hosted |
| Isolation | sandboxed, kein DB-Zugriff | voller System-Zugriff |
| Update-Verhalten | stabil über das Manifest | an Core-Version gebunden |
| Logik im Core | App-Scripts (Twig, sandboxed) | unbegrenzt in PHP |
| Typischer Einsatz | Integrationen, Datenabgleich | tiefe Prozess- und UI-Logik |
Aus der Tabelle wird ein Muster sichtbar: Das App-System optimiert auf Entkopplung, Betriebsflexibilität und geringes Risiko, das Plugin auf Tiefe und Kontrolle. Keine Spalte ist pauschal besser - entscheidend ist, welche Eigenschaften Ihr konkreter Anwendungsfall braucht.
Wann das App-System die richtige Wahl ist
Das App-System spielt seine Stärken überall dort aus, wo eine Erweiterung nicht tief in den Bestellprozess eingreifen muss, sondern Daten transportiert, mit externen Diensten spricht oder über viele Shops hinweg funktionieren soll. Für das Synchronisieren von Produkten, Bestellungen und Kunden mit einem ERP-System wie SAP Business One ist der API-basierte Ansatz die naheliegende Wahl - skalierbar und über Umgebungen hinweg wiederverwendbar.
- Ihr Shop läuft in einer Cloud-Umgebung ohne Server- und Dateizugriff
- Sie gleichen Daten mit einem externen System ab, das die eigentliche Logik bereitstellt
- Die Erweiterung soll über mehrere Shops und Mandanten hinweg wiederverwendbar sein
- Ein externer Dienst übernimmt Zahlung, Versand oder Steuerberechnung
- Update-Sicherheit und geringer Wartungsaufwand stehen im Vordergrund
- Das Team arbeitet lieber in einer anderen Sprache als PHP
Wer perspektivisch in Richtung Cloud-Betrieb plant, sollte neue Erweiterungen ohnehin als App konzipieren - so bleibt der Wechsel des Betriebsmodells offen, ohne die Erweiterungen neu bauen zu müssen.
Wann ein Plugin unverzichtbar ist
Sobald eine Erweiterung Logik direkt im Herzen des Shops ausführen muss, führt am Plugin kaum ein Weg vorbei. Individuelle Preis- und Rabattregeln im Checkout, eigene Datenmodelle oder tiefe Anpassungen der Storefront-Templates verlangen den direkten Zugriff, den nur ein im Core laufendes Symfony-Bundle bietet.
- Individuelle Warenkorb-Berechnung sowie Rabatt- oder Preislogik direkt im Checkout
- Eigene Datenbank-Entitäten über die Data Abstraction Layer mit vollem Lese- und Schreibzugriff
- Tiefe Eingriffe in Storefront-Templates und Administration-Komponenten
- Event-Subscriber und geplante Aufgaben innerhalb des Shopware-Prozesses
- Performancekritische Logik, die ohne Netzwerk-Latenz zu einem externen Dienst laufen muss
- Bestehende Symfony-Services, die erweitert oder überschrieben werden sollen
Je näher eine Anforderung am Bestell- und Preisprozess liegt und je mehr sie in Echtzeit im Shop entscheiden muss, desto eher ist ein Plugin richtig. Je mehr sie mit externen Systemen spricht oder cloud-tauglich sein soll, desto eher eine App (Projekterfahrung). Die sauberste Grenze verläuft entlang der Frage: Muss die Logik im Core laufen - oder nur mit ihm reden?
Wartung, Updates und Gesamtkosten im Blick
Die Wahl zwischen App und Plugin ist nicht nur eine technische, sondern eine wirtschaftliche Entscheidung. Über den Lebenszyklus einer Erweiterung entstehen die meisten Kosten selten bei der Erstentwicklung, sondern bei Pflege, Updates und Kompatibilitätstests. Genau an diesem Punkt unterscheiden sich die beiden Systeme deutlich - und genau hier zahlt sich eine bewusste Architekturentscheidung über die Jahre aus.
Ein Plugin ist an die Core-Version gebunden: Bei jedem größeren Shopware-Sprung muss der Code geprüft und oft angepasst werden. Eine App bleibt dank ihrer stabilen Schnittstelle unabhängiger vom Core und übersteht Updates in der Regel ohne Eingriff, solange sich die API-Verträge nicht ändern. Wer die Betriebskosten realistisch plant, sollte diese Unterschiede von Anfang an einkalkulieren.
- Erstentwicklung: Plugins erfordern Shopware- und Symfony-Know-how, Apps zusätzlich einen Betriebsort für den externen Dienst
- Updates: Plugins werden bei Core-Sprüngen geprüft, Apps bleiben über die Schnittstelle stabiler
- Betrieb: Ein Plugin läuft im Shop mit, eine App benötigt eigene Infrastruktur und Überwachung
- Risiko: Ein Plugin-Fehler kann den Shop beeinträchtigen, ein isolierter App-Fehler bleibt begrenzt
- Wiederverwendung: Apps lassen sich über mehrere Shops ausrollen, Plugins werden je Installation gepflegt
Hybride Strategien und die Update-Frage
In der Praxis schließen sich beide Systeme nicht aus. Viele Shops kombinieren robuste Plugins für die tiefe Prozesslogik mit Apps für Integrationen und externe Dienste. Mit App-Scripts verschwimmt die Grenze zusätzlich: Seit Shopware 6.4.8.0 (Shopware Developer Documentation) lässt sich sogar Warenkorb-Logik sandboxed im App-Kontext ausführen - Funktionalität, die früher zwingend ein Plugin erforderte.
Die Update-Frage bleibt dabei der entscheidende Kostenfaktor über die Jahre. Plugins sind an die Core-Version gebunden und müssen bei jedem größeren Sprung geprüft werden - etwa beim Wechsel der PHP-Version im Zuge einer Shopware-Aktualisierung. Apps bleiben dank stabiler Schnittstelle unabhängiger. Wer eine modulare Architektur anstrebt, findet in Composable- und Headless-Ansätzen den größeren Rahmen, in den sich die App-Plugin-Entscheidung einfügt.
Die Frage ist selten App oder Plugin im Absoluten, sondern welche Funktion gehört wohin. Eine saubere Trennung von Integrationen als Apps und Kernlogik als Plugins spart über Jahre Wartungskosten.
XICTRON Entwicklungsteam
Ein typisches Muster aus der Praxis: Die Anbindung an Warenwirtschaft und Versand läuft als App über die API, während Rabatt- und Preislogik, Sonderpreise für Stammkunden oder ein individueller Konfigurator als Plugin direkt im Core arbeiten. So erhält jede Anforderung das System, das am besten zu ihr passt - und der Shop bleibt zugleich anschlussfähig für einen späteren Cloud-Umzug, ohne dass die Integrationen neu gebaut werden müssen.
Auch die nächste Generation von Schnittstellen lässt sich sauber über das App-System anbinden - etwa wenn Sie KI-Agenten über standardisierte Protokolle mit dem Shop verbinden oder regulatorische Anforderungen wie die neuen Produktsicherheits-Pflichten über angebundene Dienste abbilden wollen. Die Architekturentscheidung von heute bestimmt, wie leicht solche Erweiterungen morgen andocken.
So könnte Ihr Shopware-Shop aussehen:
Industrieteile-Portal
Elektronik-Shop
Interior-Shop mit Raumplaner
So entwickeln wir Ihre Erweiterungsstrategie
Statt aus dem Bauch heraus zu entscheiden, beginnen wir mit einer nüchternen Analyse Ihrer Anforderungen, Ihres Betriebsmodells und Ihrer Roadmap. Daraus leiten wir pro Funktion ab, ob sie als App, als Plugin oder als hybride Lösung am besten aufgehoben ist - und bauen sie so, dass sie zu Ihrem Shop und Ihrem Team passt.
Architektur-Audit
Wir analysieren Betriebsmodell, bestehende Erweiterungen und geplante Funktionen und decken Abhängigkeiten sowie Update-Risiken auf.
Systemwahl je Funktion
Für jede Anforderung entscheiden wir begründet zwischen App und Plugin - dokumentiert und nachvollziehbar, nicht nach Bauchgefühl.
Umsetzung und Wartung
Wir entwickeln die Erweiterungen als Shopware-Agentur und begleiten Betrieb, Updates und Weiterentwicklung.
Ob App-System, klassisches Plugin oder eine durchdachte Kombination aus beidem: Entscheidend ist, dass die Architektur zu Ihren Zielen passt und nicht umgekehrt. Unsere E-Commerce-Beratung begleitet Sie von der ersten Analyse bis zur produktiven Erweiterung.
Dieser Artikel basiert auf Angaben und Dokumentation von: Shopware, Shopware Developer Documentation, Shopware Documentation, EHI Retail Institute (in Zusammenarbeit mit eCommerceDB), bevh (Bundesverband E-Commerce und Versandhandel Deutschland). Die genannten Zahlen beziehen sich auf die jeweils angegebenen Quellen und können je nach Erhebungszeitpunkt und Shopware-Version variieren.
Häufige Fragen zu Shopware Apps und Plugins
Ein Plugin ist eine dünne Abstraktionsschicht auf dem Symfony-Bundle-System (Shopware Developer Documentation) und läuft direkt im Shopware-Core mit vollem Zugriff auf Services, Events und Datenbank. Eine App verlagert die Logik auf ein externes System und kommuniziert mit Shopware ausschließlich über HTTP-Anfragen (Shopware Developer Documentation), also Webhooks und API. Vereinfacht: Ein Plugin läuft im Shop, eine App redet mit dem Shop.
Nein. Cloud-Shops können keine klassischen Plugins installieren und sind auf das App-System beschränkt (Shopware Documentation). Plugins setzen serverseitigen PHP-Zugriff voraus und laufen daher nur in Self-Hosted-Installationen. Wer Cloud-Betrieb plant oder offenhalten möchte, sollte Erweiterungen typischerweise als App konzipieren.
Nicht generell, aber anders. Für Integrationen und Datenabgleich ist das App-System oft die bessere Wahl. Für tiefe Eingriffe in Warenkorb, Preislogik oder Storefront-Templates bietet ein Plugin mehr Möglichkeiten, weil es direkt im Core läuft. Seit Shopware 6.4.8.0 (Shopware Developer Documentation) können Apps über sandboxed App-Scripts allerdings auch Warenkorb-Logik ausführen, was den Abstand in vielen Fällen verringert.
Aktuelle Shopware-Versionen setzen PHP 8.2 oder 8.3 voraus (Shopware Documentation), Shopware 6.7 ergänzt seit dem Release im Mai 2025 die Unterstützung für PHP 8.4 (Shopware). Für die App-Entwicklung ist das unerheblich, da Apps in einer frei wählbaren Sprache laufen (Shopware Developer Documentation) und nur über die Schnittstelle mit Shopware sprechen.
Ja, das ist in der Praxis üblich. Viele Shops kombinieren Plugins für die tiefe Kernlogik mit Apps für Integrationen und externe Dienste. Eine klare Aufteilung - Integrationen als App, Kernlogik als Plugin - reduziert erfahrungsgemäß den Wartungsaufwand über die Jahre (Projekterfahrung).
Wir analysieren Betriebsmodell, bestehende Erweiterungen und geplante Funktionen und leiten pro Anforderung begründet ab, ob App, Plugin oder eine Kombination am besten passt. Anschließend setzen wir die Erweiterungen um und begleiten Updates. Eine unverbindliche Einschätzung erhalten Sie über unsere E-Commerce-Beratung.
Die richtige Erweiterungs-Architektur für Ihren Shop
Wir analysieren Ihre Anforderungen und entwickeln die passende Strategie aus App-System, Plugin oder einer durchdachten Kombination - von der Konzeption bis zur Umsetzung.
Beratung anfragen