This page is also available in English. Change to English page

Warp Award Gewinner Alexander Barton im Interview: „Meine Erfahrungen als Entwickler mit der Shopware Cloud“

Warp Award Gewinner Alexander Barton im Interview: „Meine Erfahrungen als Entwickler mit der Shopware Cloud“

To the English article

Alexander Barton von Shop Studio ist der Gewinner unseres Warp Awards – dem Spezialpreis für die schnellsten App Developer in unserem App Contest. Auf dem SCD hat er bereits seine Gewinner-App Wieder auf Lager-Benachrichtigung vorgestellt. In diesem Blogbeitrag lassen wir ihn erneut zu Wort kommen, denn er möchte mit anderen Entwicklern seine Erfahrungen mit der Shopware Cloud teilen.

Da ist sie nun, die neue Shopware Cloud. Der eigene Shop als Rundum-sorglos Paket in der Cloud. Für Shop-Betreiber kann das bedeuten: Keinen Hoster mehr suchen, keine manuellen Updates einspielen, keine Cronjobs im Hintergrund anlegen, keine SSL Zertifikate erneuern und vieles mehr. Fast alle Starthürden eines Shop-Aufbaus scheinen einfach in Luft aufgelöst! Doch was ist mit uns Shop-Entwicklern? Sollten wir nun Angst bekommen, dass wir in Zukunft nicht mehr benötigt werden? Jetzt, wo immer mehr Routineaufgaben von Shopware selbst in der Cloud übernommen werden? Ganz und gar nicht – es gibt viel zu tun! Auch in der Shopware Cloud dreht sich alles immer nur um das eine: Apps & Themes. In diesem Beitrag möchte ich praxisnahe Einblicke geben, welche Erfahrungen ich als Entwickler mit der Shopware Cloud gemacht habe und warum sich die Zukunft des E-Commerce wie „Wolke 7“ anfühlen könnte.

Wo soll ich anfangen…?

Wie bin ich eigentlich dazu gekommen, Apps für die neue Shopware Cloud zu entwickeln? Das ist eine spannende Frage! Zugegeben habe ich recht lange gebraucht, mich mit dem Mysterium Shopware Cloud anzufreunden. Irgendwie war sie auf einmal da, aber so wirklich wusste ich selbst nicht, was ich damit anfangen sollte. Was war möglich? Wo sind die Limitierungen? Lohnt es sich, Zeit und Energie in die Entwicklung zu investieren?

Also startete ich meine Recherche bei der Suchmaschine meines Vertrauens, um diese Fragen zu beantworten. Dabei habe ich herausgefunden, dass die Shopware Cloud für uns Entwickler einige Vorteile bietet, da es für bestimmte Erweiterungen viel sinnvoller ist, sie als App anstatt als herkömmliches Plugin zu entwickeln.

Die Vorteile der Cloud

Ich möchte eine Sache direkt klarstellen: Nein, man kann den PHP-Code des Shopware Cores nicht direkt erweitern oder ändern, denn die Cloud besitzt dafür keine Möglichkeit. Doch das ist nicht per se schlecht! Es bedeutet lediglich, dass nur mit Hilfe von Twig, JavaScript, Webhooks und der Rest-API zu 100 % konforme Funktionalitäten (verpackt in Apps und Themes) für die Cloud entwickelt werden können. Jeder Entwickler muss sich an diese Standards und Best-Practices halten, denn es gibt so gut wie keine technische Möglichkeit zu schummeln und mit willkürlichem Drittanbieter-Code die Shopbetreiber in Angst und Schrecken zu versetzen. Und: Dadurch, dass es so klar definiert ist, ist selbst nach einem größeren Versionssprung von Shopware klar, dass die Anwendung höchstwahrscheinlich ohne große Anpassungen funktionieren wird. Das spart viel Zeit bei der Instandhaltung von Apps und Themes. Meine Empfehlung ist sogar, dass bei neuen Funktionalitäten immer erst geschaut wird, ob diese auch mit der Shopware-Cloud kompatibel sind. Wenn zum Beispiel Deine neue Funktionalität ausschließlich mit JavaScript und Twig laufen kann, dann solltest Du statt einem herkömmlichen Plugin lieber eine App schreiben. Ein weiterer Vorteil bei Apps: Diese laufen nicht nur in der Shopware-Cloud, sondern auch auf self-hosted Shops.

Aber meine App muss XYZ können

Natürlich kann nicht jede Anwendung ausschließlich mit JavaScript und Twig umgesetzt werden. Manchmal muss auf bestimmte Events wie einen Verkauf reagiert werden, um anschließend einen benutzerdefinierten Code, wie dem Versand einer Bestell-SMS, auszuführen. Was dann? Alles kein Problem, denn es gibt Webhooks & Rest-APIs! Mit Webhooks können auf eine selbst festgelegte URL Benachrichtigungen gesendet werden, wenn zum Beispiel etwas Neues im Shop passiert ist. Mit der REST-API können zusätzlich viele Daten abgefragt und diese manipuliert werden. Das bedeutet jedoch schlussendlich auch, dass ein eigener Server hochgefahren werden muss, der für die Kommunikation mit dem Shopware-Shop im Internet erreichbar ist. Zugegeben, diese Form von Apps ist aufwendiger zu programmieren, als etwas JavaScript & Twig aufzusetzen. Zumal sich zuerst die Frage stellt, wo man diesen Server überhaupt hosten sollte? Das Positive ist die Flexibilität! Da ich beispielsweise einen starken AWS-Hintergrund habe, habe ich mich für AWS entschieden. Das gibt mir die maximale Flexibilität, um meine Ideen umzusetzen. "Oh nein, die mächtige AWS", wirst Du Dir vielleicht denken? Ich verrate Dir ein Geheimnis: Für 95 % der Anwendungen wird nur ein Webspace und eine normale MySQL-Datenbank benötigt. Daher kann auch ein Shared- oder Managed-Hosting genutzt werden. Mein Tipp: Platform.sh ist hierfür eine wirklich gute Wahl!

Wie erweitere ich den Admin?

Glaub mir: Das ist nicht so schwer. Wie auch bei PHP-Klassen kann nicht einfach das JavaScript des Admins angepasst werden. Das Einblenden von Admin-Modulen läuft etwas anders als gewohnt, nämlich über iFrames. Die iFrames bieten in unserem Kontext die Möglichkeit, eine von Dir ausgewählte URL innerhalb des Admins in Shopware anzuzeigen. Es ist somit möglich, mit Hilfe Deines Servers den Admin zu erweitern. So kann zum Beispiel über eine spezielle Konfigurationsdatei (der manifest.xml) mitgeteilt werden, dass Shopware im Admin eine spezielle Seite bereitstellen soll, wo eigener Inhalt geladen wird. Innerhalb dieser speziellen Seite kann alles dargestellt werden. So können zum Beispiel eigene Vue- oder React-Skripte eingebunden und eine schöne UI für umfangreiche Funktionalität bereitgestellt werden. Hierbei gibt es jedoch eine gute und eine schlechte Nachricht. Die schlechte zuerst: Innerhalb des iFrames kann aus Sicherheitsgründen kein Zugriff auf die Styles und Skripte vom Shopware-Admin erfolgen. Das stellt insofern ein Problem dar, da oft das Look & Feel von Shopware beibehalten werden soll und nun viele aufwendige Admin-UI-Elemente erneut programmiert werden müssen. Doch nun die gute Nachricht: Es gibt bereits ein fertiges und kostenloses Vue-Plugin, in dem auch außerhalb von Shopware dieselben UI-Elemente genutzt werden können. So wird der Shopbetreiber kaum unterscheiden können, ob Deine UI direkt von Shopware oder einem anderen Server kommt. Fast schon magisch, oder nicht?

Wie die Reise weitergeht

Die Shopware Cloud ist eine Reise, die gerade erst begonnen hat. Dementsprechend ist immer noch viel zu tun. Ich persönlich bin sehr gespannt, wie sich die Cloud und das dazugehörige App-Ökosystem entwickeln werden. Auch welche spannenden Technologien zukünftig genutzt werden können, um im E-Commerce-Umfeld eine neue Gangart zu kreieren, die Shopbetreiber und Endkunden durch den täglichen Handel im Internet führen wird. Eines kann ich aber als Entwickler schon jetzt sagen: Teste einfach die Shopware Cloud und nutze das immense Potenzial für Deine eigenen Apps und Themes. Es wird sich lohnen!

Mach auch Du mit beim App Contest

Haben Dich Alexanders Erfahrungen inspiriert, auch eine App zu entwickeln? Dann mach auch Du mit beim App Contest. Noch bis zum 15. Oktober 2021 kannst Du Deine App einreichen und Dir Chance auf Gewinne mit einem Gesamtwert von über 100.000 Euro sichern!

Zum App Contest

Das könnte Dich auch interessieren:

Newsletter

Nichts mehr verpassen. Wir halten Dich per E-Mail auf dem Laufenden.