© svetabelaya/Shutterstock.com
Teil 1: Grundlegende Veränderungen im Onlineshopsystem

Shopware 6: Mehr Freiheit zum Wachsen


Am diesjährigen Shopware Community Day wurde von der shopware AG die sehnlichst erwartete Version 6 des gleichnamigen Shopsystems vorgestellt. Im ersten Teil dieser Artikelserie schauen wir uns an, was sich alles grundlegend verändert hat. Im zweiten Teil werden wir das neue API auf Herz und Nieren prüfen. Im dritten und letzten Teil werden wir das neue Plug-in-System vorstellen und eigene Erweiterungen umsetzen.

Shopware 6 fußt auf einer komplett neuen technischen Basis und wurde von Grund auf neu entwickelt, um Entwicklern maximale Flexibilität und Freiheit durch Automatisierung und Vernetzung zu ermöglichen. Technisch gesehen haben Enlight bzw. das Zend Framework Platz gemacht für Symfony 4.2 Full Stack, Smarty wurde durch Twig ersetzt, Vue.js hat die Nachfolgerschaft von Ext JS angetreten und Bootstrap 4 hat den Einzug in die Storefront gehalten.

Konzeptionell wurde Shopware 6 nach dem API-First-Ansatz entwickelt. Die Architektur lehnt sich stark an Domain-driven Design (DDD) an. Daraus ergeben sich folgende interne Anforderungen: Externe Ressourcen werden nicht unnötig verwendet, der Stack verhält sich vorhersehbar und die Ausführung erfolgt in so wenigen Schritten wie möglich. Zusätzlich wird ein unnötiges Iterieren über Daten vermieden und die Datenbankabfragen werden auf das Notwendigste reduziert. Dadurch wurde die Testbarkeit deutlich erhöht und eine Skalierung der Applikation vereinfacht. Zusätzlich hat eine neue Datenstruktur Einzug gehalten, die eine Internationalisierung mit geringerem Aufwand ermöglicht. Es gibt nun eine native Unterstützung für sogenannte Contentsprachen, die an keinen Shop mehr gebunden sind. Dabei können verschiedene Entities die Sprache von ihren Eltern erben. Bis zu zwei Vererbungsstufen sind im Standard möglich.

Die Sales Channels sind in Shopware 6 neu hinzugekommen, um zum Beispiel spezifischen Content für verschiedene Kanäle wie Smartwatch, PWA, Instagram usw. auszuspielen. Darunter fallen eigene Produktkataloge, Einkaufswelten und Regeln, die festlegen, was ein Benutzer in diesem Kanal machen darf. Durch die Fokussierung auf weit verbreitete Standardtechnologien wie Symfony, Vue.js und Bootstrap ist die Lernkurve sehr steil. Das ermöglicht es Freelancern, Agenturen oder auch Shopbetreibern mit eigenen Entwicklern, sich sehr viel schneller in das Shopwareökosystem einzuarbeiten. Es wird kein Spezialwissen mehr vorausgesetzt, um Shopware an die eigenen Prozesse anzupassen. Entwickler mit Erfahrung in den verwendeten Technologien werden sich mit Shopware schnell anfreunden können.

Demoumgebung aufsetzen

Als Entwickler möchte man natürlich gerne schon mal in die neue Version reinschnuppern. Das ist in wenigen Schritten möglich. In diesem Beispiel verwenden wir die Docker-Umgebung, die auf einem Linux-Client ausgeführt wird. Zuerst klonen wir uns das Entwicklungstemplate von GitHub mit git clone git@github.com:shopware/development.git. Nun haben wir die Entwicklungsvorlage für die Shopware-Plattform im Verzeichnis development. Anschließend gehen wir mit cd development in dieses Verzeichnis und klonen noch das eigentliche Shopware-Plattform-Repository mit git clone git@github.com:shopware/plat...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang