Magento 2: der Guide zur Webshop-Software für KMUs & Konzerne

Das Magento-Logo wird wie eine startende Rakete dargestellt: das Logo ist am linken oberen Bild-Rand, unten schlägt eine gezeichnete Flamme heraus und am Boden sieht man weiße Wolken wie bei einem Raketen-Start. Daneben steht: "Now launchgin Magento 2.0" und der Hash-Tag #Magento2ISHERE
Mit diesem Logo bewarb Magento im Jahr 2015 den Start von Magento 2.0.

Dieser Guide gibt Ihnen umfassende Informationen zu Magento 2. Finden Sie heraus, ob das Shop-System für Ihr Unternehmen geeignet ist und wie man als ProgrammiererIn in Magento 2 einsteigt. Der Artikel wird laufend aktualisiert und erweitert, um den Stand im Jahr 2019 festzuhalten.

Was ist Magento 2?

Magento 2 ist eine Shop-Software für mittelkleine HändlerInnen (KMU) bis hin zu internationalen Großkonzernen. Neben einer kostenfreien Open-Source-Variante gibt es eine kostenpflichtige Commerce-Version. Der Vorgänger Magento 1 erschien 2008 und konnte mit über 250.000 in Betrieb befindlichen Installationen zur beliebtesten Shop-Software in diesem Bereich aufsteigen. Version 2 kam Ende 2015 auf den Markt und wird seitdem ca. alle 3 Monate aktualisiert. Neben dem Shop-System sind in den letzten Jahren Zusatz-Angebote von Magento Inc. als optionale Zusatzangebote entstanden, zum Beispiel für die Logistik („Magento Order Management“) oder Business Intelligence („Magento Analytics“).

Für wen ist Magento geeignet?

Um eines gleich vorwegzunehmen: wie jede andere Shop-Software ist Magento nicht für alle Anwendungsfälle, Projekte und Budgets geeignet. Hier ein paar Beispiele für passende und weniger passende Anwendungsfälle.

Gut geeignet ist diese Software, wenn Sie:

  • Ihren Shop für ein KMU oder ein größeres Unternehmen / einen Konzern umsetzen
  • eine sehr flexible Software benötigen, um das Aussehen, Verhalten und die Funktionalität nach Maß an Ihre Anforderungen und die Ihrer KundInnen anzupassen
  • externe Dritt-Systeme (ERP / WaWi, PIM, CRM, Marketing-Lösungen, …) anbinden
  • B2C- und/oder B2B-Kundengruppen ansprechen
  • auch Umsatzzahlen in ein- bis dreistelliger Millionenhöhe erzielen können möchten, ohne dafür automatisch fünf- bis siebenstellige jährliche Lizenz-Kosten abliefern zu müssen
  • Wert darauf legen, dass Sie Ihren Shop auf selbst gewählter Infrastruktur betreiben können und Rechte am Code besitzen (niemand kann Ihnen das System einfach „wegnehmen“ oder „abdrehen“)
  • sich bewusst sind, dass ein erfolgreicher Shop beständige Weiterentwicklung, Pflege und Marketing benötigt
  • vor haben, ein System lange einzusetzen
  • eine Software suchen, die von kleinen bis zu großen Unternehmen skaliert, was Produkte / Kategorien / Aufträge / Kunden / … betrifft
  • ein großes Öko-System bevorzugen (Vermeidung des „Lock-Ins“ wegen einer geringen Anzahl von Dienstleistern)

Weniger gut geeignet ist diese Software, wenn Sie:

  • ein kleineres Budget von einigen hundert oder tausend Euro haben
  • nur ein paar wenige Produkte vertreiben möchten und keine Anbindung an externe Lagerverwaltung, Warenwirtschaftssysteme oder ähnliche benötigen
  • den Shop komplett alleine, ohne eigene ProgrammiererInnen oder Freelancer/Agenturen betreiben möchten

Falls einer oder mehrere dieser Punkte auf Sie zutreffen, dann können Sie unter Umständen trotzdem mit Magento glücklich werden. Hier empfehle ich Ihnen jedoch, sich gründlich mit Alternativen zu beschäftigen, zum Beispiel:

  • Miet-Lösungen bei „Software as a Service (SaaS)“-Anbietern wie Shopify
  • Shop-Plugins, die in beliebte Content-Management-Systeme oder Blog-Software eingebunden werden können, wie WooCommerce

Andere Systeme, über die Sie bei Ihrer Recherche nach der geeigneten Shop-Software stoßen könnten, sind unter anderem Shopware, OXID, oder PrestaShop. Wenn ein Projekt keine komplexen Anforderungen hat, dann wird es sich in der Regel mit Magento oder diesen Alternativen in einem ähnlichen Preisbereich umsetzen lassen. Bei besonderen Erfordernissen muss hingegen genau evaluiert werden, ob das Produkt den Ansprüchen gerecht werden kann.

In beiden Fällen ist es wichtig, gute PartnerInnen für die Umsetzung zu finden und sich genau anzusehen, was für oder gegen das jeweilige System spricht. Offizielle „Darum XYZ“-Seiten sind oft genau das, wonach sie aussehen: Werbematerialien. Seriöse Dienstleister werden Sie darüber aufklären ob es zwingende Gründe für ein bestimmtes System gibt oder ob Ihre Entscheidung davon abhängt, welche Software Ihnen am besten gefällt und welchem Dienstleister Sie am meisten vertrauen.

Editionen

Die Bandbreite von mittelkleinen Unternehmen bis zu großen Konzernen deckt Magento durch die Varianten („Editionen“) seines Produkts ab.

Magento Open Source

Open Source (ehemals „Magento Community Edition“) ist eine lizenzkostenfreie Ausgabe, welche die wichtigsten Funktionalitäten anbietet. Für viele Unternehmen ist diese Version bereits ausreichend. Sie können den Shop auf einem einzelnen Server betreiben oder auch in einem Multi-Server-Setup oder eine Cloud-Umgebung wie Amazon Web Services (AWS) oder der Google Cloud Platform.

Magento Commerce

Commerce (ehemals „Magento Enterprise Edition“) setzt auf der lizenzkostenfreien Version auf und erweitert diese um Funktionen, die von größeren Unternehmen mit ambitionierten Plänen bzw. großen Datenmengen benötigt werden. Dazu zählen unter anderem Kundensegmente, ein Staging-Bereich zur Vor-Ab-Überprüfung von Änderungen, eine bessere Suche mittels Elasticsearch und bessere Skalierbarkeit der Daten. Mehr dazu finden sie in der Feature-Liste von Magento Commerce 2.1.

Entgegen dem Eindruck den man auf der offiziellen Website bekommt kann auch diese Version selbst gehostet werden.

Magento Commerce Cloud

Commerce Cloud (ehemals „Magento Enterprise Cloud Edition“, „Magento Cloud Commerce“) ist die Cloud-Ausgabe von Magento Commerce und das Rundum-Paket im Portfolio. Hierbei erhält man die kostenpflichtige Version mit integriertem Cloud-Hosting und etlichen weiteren Services:

  • CDN („Content Delivery Network“) und DDoS („Distributed Denial of Service“) Protection von Fastly
  • New Relic APM Pro für Performance Monitoring
  • Blackfire.io für Performance Testing und Performance Profiling

Magento hat sich für diesen Dienst mit platform.sh zusammen getan und bietet eine skalierbare Lösung, die nicht auf den Produktivbetrieb beschränkt ist.

Das heißt: auch Entwicklung, Testing und die Abnahme von Änderungen erfolgen im Cloud-Verbund ohne dass ProgrammiererInnen auf ihre gewohnten Tools verzichten müssen.

Ende August 2018 führte Magento zwei Varianten von Commerce Cloud ein:

Magento Commerce Cloud Starter

Diese Variante enthält die Commerce-Lizenz und das Cloud-Hosting sowie die Integration von Fastly, New Relic und Blackfire. 24×7-Email-Support rundet das Angebot ab.

Die Starter-Edition wird in der Cloud gehostet, jedoch auf gesharten Servern und keiner dedizierten Hardware.

Magento Commerce Cloud Pro

Hier erhalten Sie alle Features der Starter-Version plus:

  • das SaaS-Modul Magento Business Intelligence,
  • eine redundante Drei-Server-High-Availability-Infrastruktur mit dedizierter Hardware und
  • verstärkte Unterstützung bis zum Live-Gang.

Details und Preise entnehmen Sie dem offiziellen Vergleich der Pakete.

Adobe Commerce Cloud

Das High-End-Angebot von Magento, Adobe Commerce Cloud, ist eine Magento Commerce Cloud Lösung, die mit diversen Adobe-Diensten integriert ist. Die Adobe Commerce Cloud ist für Großunternehmen gedacht. Mehr Details finden Sie im netz98-Blog. Auch der Bericht von Marc Schürmann vom Adobe Summit 2019 verrät mehr dazu, wie Magento und Adobe zusammenspielen.

Magento in Österreich

Magento ist ein amerikanisches Unternehmen. Aktuell gibt es keine Niederlassung in Österreich. Einige Angestellte leben aber in Deutschland bzw. sind deutsch-sprachig.

Dennoch ist das System in Österreich sehr populär. Aus diesem Grund habe ich im Jahr 2012 das Magento Meetup Austria gegründet (mehr dazu im Hauptartikel).

Wer im Web danach sucht wird schnell herausfinden, dass es in Österreich eine Vielzahl an FreelancerInnen und Agenturen gibt, die Support für diese Software anbieten. Das ist gut, denn es bewahrt HändlerInnen davor, sich zu sehr an einzelne Dienstleister zu binden. Außerdem wird man in jedem Bundesland Dienstleister finden, falls einem das wichtig ist. (Spoiler: meiner Meinung nach sind die Qualifikation und die Chemie zwischen beiden Seiten wesentlich wichtiger als die geographische Entfernung.)

Ich möchte hier keine Wertung vornehmen, wem man sein Webshop-Projekt in die Hände legen sollte, weil ich selbst bei einer Agentur arbeite. Ich will hier ehrlich informieren – das Angebot muss letztendlich für sich sprechen.

Ein paar Hinweise zur allgemeinen Auswahl des richtigen Partners:

  • Freelancer sind oft günstiger in der Umsetzung, weil sie weniger Overhead haben als eine Agentur. Findet man an einen erfahrenen Dienstleister, der die benötigte Kapazität liefern kann, kann man hier tolle Fortschritte machen.
  • Agenturen punkten je nach Größe und Kompetenz in verschiedenen Bereichen: sie können Krankheiten einzelner MitarbeiterInnen oder Lastspitzen besser abfangen, bieten mehr spezialisiertes Wissen in den diversen nötigen Fachbereichen, haben oft Erfahrung mit komplexeren und umfangreichen Projekten und können die dafür nötigen Prozesse und Strukturen bieten.

Was die richtige Wahl ist, hängt somit auch von den eigenen Bedürfnissen und der Erwartungshaltung ab.

Aktuelle Neuigkeiten

Sie können sich auf meiner Unterseite „Aktuelles aus der Magento-Welt“ darüber informieren, was sich im Ökosystem tut. Ich aktualisiere die Seite laufend und kann Ihnen damit hoffentlich helfen, relevante Informationen aus der Masse an Neuigkeiten herauszufiltern.

Release-Zyklen und Zeitraum der Unterstützung von Versionen

Magento 2.0 wurde am 17. November 2015 veröffentlicht. Der Nachfolger des „originalen“ Magento war über 4 Jahre in Entwicklung. Seitdem werden

  • Minor-Releases (z.B. von 2.2 auf 2.3) mit neuen Funktionen und Verbesserungen bzw.
  • Bugfix-Releases (z.B. von 2.2.6 auf 2.2.7)

veröffentlicht.

Sie sollten Ihre Magento-Installation auf dem aktuellen Stand halten. Dadurch profitieren Sie von Fehlerbehebungen, Geschwindigkeitsverbesserungen und neuen Features. Als Minimum sollte eine aktuell unterstützte Version verwendet werden.

Wie Sie dem verlinkten Artikel entnehmen können, wird Magento Open Source 2.1 bis zum Juni 2019 und Magento 2.2 bis September 2019 (Open Source) bzw. Dezember 2019 (Commerce) unterstützt. Für Magento 2.3 wurde noch kein Support-Ende ankgekündigt.

Welche Neuerungen gibt es?

Magento 2.2

Version 2.2 wurde am 26. September 2017 veröffentlicht. Neben 428 Bugfixes gibt es einige neue Features für HändlerInnen und EntwicklerInnen.

Auf Slideshare finden Sie die Slides einer Präsentation, die ich zu den Neuigkeiten von Magento 2.2 gehalten habe. Ausführlich behandelt ist die Version in „Was ist neu in Magento 2.2?„.

Version 2.2.1 wurde am 7. November 2017 veröffentlicht und enthält neben Security-Patches einige kleinere Verbesserungen sowie die Signifyd Fraud Protection.

Version 2.2.2 ist am 12. Dezember 2017 erschienen und bringt neben 96 Bugfixes besseres Reporting dank Magento Business Intelligence, Magento Shipping, die Integration von dotmailer sowie den „Instant Purachse Checkout“ (bei Amazon auch als „1-Click-Bestellung“ bekannt geworden).

Mit Version 2.2.3 gab es am 27. Februar 2018 ein Sicherheits-Release. In der Commerce-Edition wird nun auch Elasticsearch 5.x unterstützt.

Weitere Artikel zu 2.2:

Magento 2.3.0

Magento 2.3.0 wurde am 28. November 2018 veröffentlicht. Einen Überblick über die Neuerungen erhalten Sie in Neue Features in Magento 2.3.

Magento 2.3.1

=> Hauptartikel: Magento 2.3.1

Die am 26. März 2019 veröffentlichte Version brachte neben 30 Security-Bugfixes über 200 funktionale Verbesserungen. Commerce-KundInnen können sich über das neue CMS-Feature „Page Builder“ freuen.

Magento 2.3.2

=> Hauptartikel: Magento 2.3.2

Im Zentrum des Updates stehen 75 behobene Sicherheitsprobleme, aber auch über 200 funktionale Bugfixes und kleine Verbesserungen sowie 350 verarbeitete Community-Pull-Requests.

Die nächsten Versionen

Für die weiteren Versionen wurden noch keine Daten angeünkdigt.

Migration von Magento 1 zu Magento 2

Über den Umstieg von Magento 1 zu Magento 2 kann man viele Worte verlieren. Das habe ich bei diversen Vorträgen im Jahr 2016 gemacht und diesen Talk auch als Artikel-Serie festgehalten:

Headless Magento 2

Mit Version 2.3 bekam Magento eine GraphQL-Schnittstelle. Damit wird eine Headless-Implementierung von Shops zum ersten Mal sinnvoll möglich.

Was bedeutet „Headless“ überhaupt?

Seit es dynamische Websites gibt, gab es eigentlich immer eine mehr oder weniger starke Verzahnung zwischen server- und client-seitigem Code:

  • auf dem Server (z.B. dem Webserver) wird der Code für die Anwendungslogik ausgeführt.
  • Während die Anwendungslogik abgearbeitet wird, wird der Code für die Darstellung beim User zusammengestellt. Dieser Code wird zumeist dynamisch am Server erzeugt und dann an den Client geschickt, das heißt an den Web-Browser des Users.

Das hat Auswirkungen auf den Arbeitsablauf bei der Website-Entwicklung und die Anforderungen an Web-ProgrammiererInnen:

  • weil der Client-seitige Code abhängig vom Server-seitigen Code ist, müssen Frontend-EntwicklerInnen auch etwas vom Server-seitigen Code verstehen und umgekehrt.
  • die Abhängigkeit zwischen Client- und Server-seitigem Code führt zu höherer Komplexität und damit höheren Entwicklungs- und Wartungskosten sowie einem größeren Risiko von Fehlern (Bugs).

In den letzten Jahren versuchte man mehr und mehr, beide Seiten voneinander zu koppeln. Dazu stellt der Server Daten über eine Schnittstelle bereit, die der Client in die Darstellung einbauen kann. Es gab im Normalfall aber keine 100%-ige Trennung, sondern eine bestimmte Abhängigkeit blieb bestehen.

Richtige Headless-Implementierungen bieten zum ersten Mal ein unabhängiges Frontend, in dem der Client-Code wirklich unabhängig vom Server-Code ist. Alle nötigen Daten werden über Schnittstellen-Aufrufe geholt. Weil beide Seiten, Client und Server, unabhängig voneinander weiter entwickelt werden können und sie im Idealfall nur über eine wohldefinierte und stabile Schnittstelle miteinander kommunizieren, wird die Stabilität erhöht und jede Seite kann für sich optimiert werden, ohne die andere negativ zu beeinflussen.

Vorteile von Headless-Implementierungen

Die Umsetzung einer Headless-Website kann gegenüber eine traditionellen Umsetzung folgende Vorteile haben:

  1. Geringere Gesamtbetriebskosten (Total Cost of Ownership, TCO) durch effizientere Wartbarkeit des Codes.
  2. Bessere Sicherheit, weil der kritische, Server-seitige Code zur Außenwelt hin eine kleinere Angriffsfläche bietet.
  3. Kürzerer Umsetzungszeitraum, weil Server- und Frontend-SpezialistInnen ihre jeweiligen Stärken besser ausspielen können.
  4. Bessere Conversion-Rates, weil gut gemachte Headless-Websites eine bessere Performance aufweisen.

Wie immer gilt: nicht kompromisslos auf Headless setzen, weil der Begriff gerade „in“ ist, sondern man soll den Ansatz wählen, wenn er den Anforderungen des Projekts entgegen kommt.

Beispiele

Die Website Headless.page sammelt Beispiele von e-Commerce-Sites mit Headless-Implementierungen. Die Beispiele sind nicht auf Magento beschränkt, sondern listet auch viele andere Shop-Softwares auf.

PWAs (Progressive Web Apps) und Magento 2

Ich unterscheide hier bewusst zwischen „Headless“ und Magento PWA. Warum? Jeder erwähnt PWA weil es ein absolutes Buzzword ist, aber meint nicht umbedingt das, wofür diese Abkürzung steht.

PWA steht für „Progressive Web App“ und steht für eine Sammlung von Technologien und Best Practices.

Viele gehen nicht auf das komplette Feature-Set ein, sondern nur auf einen – zugegebenermaßen wichtigen – Teil der PWAs: in der Regel werden hier Frontend und Backend wesentlich stärker getrennt. Das macht schlanke, moderne und auch sehr individuelle Frontends wesentlich einfacher und kostengünstiger realisierbar als bisher.

Magento PWA Studio

Für die Entwicklung einer PWA bietet Magento das PWA Studio an. Das ist ein Tool-Set, mit dem man ein Shop-Oberfläche bauen kann, die im Hintergund mit Magento 2 kommuniziert. Am 21. Februar 2019 wurde PWA Studio 2.0.0 veröffentlicht. Das ist die erste Version, für die Magento eine stabile API garantiert und somit als Grundlage empfiehlt, um mit dem Bauen von PWA-Shops zu beginnen. Seitdem gibt es laufende Updates.

Theoretisch kann man mit PWA Studio ein x-beliebiges Frontend bauen, das komplett von dem losgelöst ist, was man aus der Magento-Welt kennt. Als Orientierung bietet Magento aber selbst ein „Proof of concept„, also eine Beispiel-Implementierung, mit dem Namen Venia. Venia ist also ein Beispiel-Theme für eine PWA, so wie es Luma für einen Standard-M2-Shop ist. Die offizielle Demo für Venia findet man auf veniapwa.com. Achtung: mit Stand April 2019 unterstützen Venia-Komponenten Internationalisierung noch nicht.

Mit Stand Mai 2019 ist der Plan für die nächste Zeit:

  • Quartal 3/2019: Veröffentlichung von Magento 2.3.2 (siehe dort für Neuigkeiten)
  • Quartal 4/2019: weiterer Ausbau der GraphQL-Schnittstelle, der UI-Komponenten und des Venia-Themes.
  • Danach (nicht näher datiert): Erweiterung der PWA-Funktionalität um die Commerce-Features Page Builder und B2B.

Einen detaillierten Einblick geben PWA Studio Roadmap und der PWA Studio Backlog. Das PWA Studio Code Sample Repository macht EntwicklerInnen über kleine Code-Happen mit den Konzepten und der API von PWA Studio vertraut zu machen.

UPWARD

Für PWA Studio hat Magento eine Spezifikation namens UPWARD erarbeitet und sie in NodeJS und PHP implementiert. Sie beschreibt, wie ein Server eine PWA unterstützt und ausliefert. UPWARD wurde im Kontext von Magento 2 und PWA Studio geschrieben, soll aber software- und technologie-unabhängig sein. Ausführlicher erklärt das Javier Villanueva in „Magento PWA Studio: What is UPWARD?„.

Was passiert mit dem Standard-Frontend (z.B. Luma), wenn PWA Studio veröffentlicht ist?

Das wurde zum ersten Mal bei der Konferenz Meet Magento New York 2018 („MM18NYC“) auf bzw. auf Twitter lebhaft diskutiert. Konkret stellt sich die Frage: was bedeutet PWA Studio als neuer Standard für HändlerInnen und IntegratorInnen, die bereits Shops und Themes mit Magento <= 2.3.x gebaut haben?

Einige Aussagen aus dieser Zeit dazu:

  • Wenn PWA Studio vollständig einsetzbar ist, wird das JavaScript-Framework Knockout.js in Magento „deprecated“, also als „nicht mehr Best Practice“ markiert und für die zukünftige Entfernung vorgesehen (Ben Marks, Magento Evangelist, 2.11.2018).
  • Das betrifft aber nur das Frontend, nicht das Backend – dort werden Knockout.js, UI components wohl noch weiter eine Rolle spielen (Vinai Kopp, 3.11.2018).
  • Die aktuelle Art Frontend-Themes zu entwickeln, wie zum Beispiel das Luma-Theme, wird aber nicht gleich mit PWA Studio deprecated. Das passiert frühestens in einem Jahr, und es wird für zumindest drei Jahre unterstützt, bevor es entfernt wird (Anton Kril, Director of Architecture bei Magento, 3.11.2018).
  • Deprecation bedeutet in dem Fall: die entsprechenden APIs werden als „@deprecated“ markiert und mit Links zu den PWA-APIs versehen (Anton Kril, 3.11.2018).
  • Die Reihenfolge der Schritte wird wie folgt sein (Anton Kril, 3.11.2018):
    • Verfügbarkeit von PWA Studio
    • Vollständiges PWA Storefront möglich/verfügbar
    • Deprecation des Luma/Blank-Themes
    • Entfernung des Luma/Blank-Themes
  • Die existierende Lösung (also wie Luma/Blank-Theme) wird zumindest zwei Jahre per Magento 2.3 unterstützt. Magento 2.4 ist noch nicht einmal geplant, deswegen ist es verfrüht, über die Entfernung der aktuellen Lösung zu sprechen (Matthew Zimmerman, Senior Director Engineering bei Magento, 3.11.2018).
  • Es macht außerdem Sinn, auf das Release von des Venia-Themes zu warten, weil der Implementierungspfad für eine PWA dann wesentlich einfacher wird (Matthew Zimmerman, 3.11.2018).
  • Wenn das Blank- oder Luma-Theme vollständig aus der Code-Basis entfernt werden, könnte das zu einem Problem für Shops werden, deren Theme auf ebendiesen Standard-Themes aufbaut (anstatt vollkommen eigenständig zu sein (Joost van Veen, 3.11.2018).
  • Kompatibilität wird bis zumindest 2021 beibehalten (Jason Woosley, Vice President Commerce Product & Platform bei Adobe, auf der MageConf, 3.11.2018).

Für HändlerInnen und IntegratorInnen im Juni 2019 bedeutet das: wenn Sie jetzt einen neuen Shop bauen, entscheiden Sie sich aufgrund des verfügbaren Budgets und der geplanten Lebenszeit des Shops, ob Sie auf eine der PWA-Lösungen setzen möchten (siehe auch unten) oder auf ein traditionelles Frontend.

Mit einer PWA-Lösung sind sind Sie im Shop-Bereich „Early Adopter“. Das kann zukünftig einen Vorsprung an Technologie und Erfahrung bedeuten, aktuell aber auch Mehrkosten. Das traditionelle Frontend lässt sich inzwischen etwas flotter implementieren, da die Dienstleister inzwischen einige Jahre Erfahrung sammeln konnten. Zugleich kann es sein, dass Sie ab 2021/2022 Pläne beginnen müssen, auf ein neues Frontend umzustellen (außer es gibt dann die Möglichkeit, ein „veraltetes“ Frontend betreiben).

Alternativen zu Magento PWA Studio

Neben der offiziellen Implementierung von Magento, „PWA Studio“, gibt es einige weitere PWA- bzw. Headless-Lösungen, die mit Magento 2 kompatibel sind.

Dazu zählen:

Im Web gibt es ein sehr informatives Google Docs Sheet, das die Eckdaten dieser Systeme gegenüberstellt.

Tutorials und nützliche EntwicklerInnen-Tipps

Best Practices für das API-Design von Magento-2-Klassen

Igor vom Magento-Team erklärt in einem ausführlichen Beitrag, worauf man achten soll, wenn man seine Magento-2-Klassen entwirft und sie über die (Web-)API verfügbar macht.

Dev-Tools

Mit dem Kommando-Zeilen-Tool Pestle von Alan Storm könnt ihr Code für Magento 2 Module erstellen lassen.

Einrichtung von Elasticsearch

Das Video-Tutorial von Max Pronko zeigt, wie man den Elasticsearch-Server aufsetzt und die Magento-2-Extension konfiguriert:

PhpStorm-Plugins

Das umfangreichste und wahrscheinlich bekannteste PhpStorm-Plugin für Magento 2 ist Magicento. Enrique Piatti, ein Community-Mitglied, ist manchen vielleicht schon von seiner Magento-1-Version des Plugins bekannt. Das Plugin ist inzwischen kostenpflichtig (Stand März 2019: 32 Dollar für Updates für ein Jahr). Es ist aufgrund der Features und der Zeit die man sich erspart aber auf jeden Fall schnell sein Geld wert.

ProgrammiererInnen des Core-Teams bieten zusätzlich ein offizielles PhpStorm-Plugin an, das direkt über den Plugin-Manager in PhpStorm installiert und aktualisiert werden kann. Es ist nicht so umfangreich wie Magicento, aber dafür kostenlos und trotzdem sehr hilfreich. Man kann den Code auf GitHub einsehen, Probleme melden und bei der Weiter-Entwicklung helfen. Außerdem findet man dort den Changelog.

Zertifizierungen

Bereits für Magento 1 gab es diverse Zertifzierungen. Mit dem Nachfolger wird das Programm an möglichen Zertifizierungen laufend ausgeweitet. Die aktuelle Liste mit Preisen und Links findet man auf der Magento-U-Seite.

Wozu überhaupt eine Zertifizierung machen?

Man darf nicht unterschätzen: sich in Magento 2 zertifizieren zu lassen, ist wesentlich schwieriger als in Magento 1. Daher sollte man sich zuerst sicher sein, dass es überhaupt Sinn macht, diesen Aufwand auf sich zu nehmen.

Was spricht für eine Zertifizierung?

  1. Man beweist, dass man Kenntnisse für dieses System besitzt.
    Das garantiert potentiellen KundInnen zwar nicht, dass man ein Projekt erfolgreich umsetzen kann, aber es ist ein Hinweis dafür, warum man eine gute Ansprechpartnerin bzw. ein guter Ansprechpartner ist. Man muss für eine Zertifizierung eine gewissen Motivation und ein gewisses Engagement aufbringen.
    Auch dem Arbeitgeber gegenüber hat man damit einen Nachweis. Der profitiert zudem, wenn er mit seinen zertifizierten MItarbeiterInnen werben kann.
  2. Es handelt sich um persönliche Zertifizierungen. Selbst, wenn man Arbeitgeber wechselt: den Nachweis für die Qualifikation nimmt man mit.
  3. Man hat ein gutes Gefühl, weil man etwas geschafft hat und eine offizielle Qualifikation in Händen hält.

Eine Zertifizierung zu haben, schadet sicher aber nicht. Es ist aber auch keine Pflicht. Ich kenne sehr gute EntwicklerInnen und Project ManagerInnen, die nicht daran interessiert sind, Zertifizierungen zu machen. Daher darf das bei der Auswahl der betreuenden Person(en) für eine Kundin bzw. einen Kunden nicht das einzige Kriterium sein. JederR muss für sich entscheiden, ob man sich zertifizieren möchte.

Für den Fall, dass man interessiert ist habe ich hier einige Informationen zusammen gestellt.

Certified Associate Developer

Der Magento 2 Certified Associate Developer ist die erste Stufe der EntwicklerInnen-Zertifizierungen. Hier werden im Gegensatz zum Certified Professional Developer die Grundlagen der Magento-2-Entwicklung abgefragt.

Lars Rötting empfiehlt in einem Interview mit Cloudways, zuerst diese Prüfung zu machen, bevor man sich an den wesentlich schwereren Professional Developer wagt:

The best thing is to start with Magento Certified Associate Developer certificate because the Professional Developer certificate is relatively difficult to earn, as it requires some years of experience.

But it doesn’t necessarily mean that you are a good Magento developer if you are certified. It only shows that you have been intensively working with Magento and it looks quite good on your resume. Personally, I think, certificates motivated me to work harder with Magento development.

Lars Röttig, Interview mit Cloudways, 26.06.2019

Certified Professional Developer

Diese Zertifizierung ist auf Backend-EntwicklerInnen ausgelegt. Der Name ist ein wenig irreführend, denn er klingt nach einer „Full-Stack“-Zertifizierung. De facto ist das eher historischen Gründen geschuldet. Wer diese Prüfung macht, muss sich primär mit Backend-Themen auseinander setzen.

Vinai Kopp hat bei der Mage Titans 2018 in Manchester einen ausgezeichnet Talk darüber gehalten, wie man sich auf diese Prüfung vorbereiten kann:

Wichtig ist, nicht einfach alles auswändig zu lernen, sondern die Prinzipien hinter Magento 2 zu verstehen.

Certified Professional Developer Plus

Die Plus-Variante des Certified Professional Developer prüft zusätzlich Kenntnisse run um die Commerce-Edition ab.

Andreas von Studnitz hat seine Erfahrungen mit der Zertifizierung beschrieben. Auch Christian Münch und Shawn Abramson schreiben: die Prüfung ist wirklich schwer. Also nicht unterschätzen!

Certified Professional Front End Developer

Diese Zertifizierung für Frontend-EntwicklerInnen wird auch in Zeiten von PWA-Projekten noch relevant sein, da viele der abgeprüften Technologien im Backend-Bereich verwendet werden. John Hughes hat sein Team bei FishEye für die Zertifizierung fit gemacht und einen tollen Trainings-Guide herausgeben.

Certified Solution Specialist

Der Solution Specialist ist für EntwicklerInnen und Projekt-ManagerInnen (PMs) bzw. Project Owner (POs) relevant. Die Zertifizierung zeigt, dass man weiß, was zur umfangreichen Magento-Standard-Funktionalität gehört und wie man es konfiguriert.

Bei der Vorbereitung helfen unter anderem die Flashcards von Quizlet, mit denen man ähnlich wie bei Quiz-Shows Ratespielen im Frage-Antwort-Stil typische Fragestellungen für den Solution Specialist lernt.

Mehr über die 2019 aktualisierte Version dieser Zertifizierung erzählt Peter Manijak von Magento U in MageTalk Episode 195.

Informationen direkt von Magento

Offizielle Website

Viele Informationen und Case Studies finden Sie auf der offiziellen Website.

AnwenderInnen-Dokumentation („User Guide“)

Die Dokumentation für AnwenderInnen ist im Web verfügbar. Die Dokumentation wird als User Guide bezeichnet.

Es gibt folgende Versionen:

Developer Hub

Die allererste Anlaufstelle für Entwickler ist der Developer Hub. Dort finden Sie Neuigkeiten, Ressourcen, Veranstaltungen und vieles mehr zu Magento 2.

EntwicklerInnen-Dokumentation

Die Dokumentation für EntwicklerInnen befindet sich unter devdocs.magento.com und wird laufend überarbeitet. Hier sind unter anderem Informationen zu finden, wie Magento 2 installiert wird.

Glossar

Die vielen Begrifflichkeiten bei Magento und im e-Commerce sind besonders am Anfang überwältigend. Auch später ist es hilfreich, einzelne Stichwörter nachschlagen zu können. Kurze, verständliche Erklärungen zu wichtigen Begriffen liefert der Magento Glossar.

Code

Was bedeuet „Code“ überhaupt? Welche Arten von Code und Programmiersprachen gibt es in Magento 2? Dafür habe ch eine eigene Seite geschrieben.

Beitragen zu Magento 2

Magento 2 ist – auch, wenn es eine kostenpflichtige Variante mit mehr Modulen gibt – ein Open-Source-Produkt.

Man kann auf viele verschiedene Arten dazu beitragen, dass Magento 2 besser wird. Das Community Engineering Team (CET) von Magento kümmert sich gemeinsam mit dem Maintainer-Team, das aus Community-Mitgliedern bestehht, um die Zusammenarbeit.

Probleme melden

Wer Fehler findet, kann diese auf GitHub in Form von Issues an Magento melden. Wichtig ist, dass der Fehler im Standardumfang von Magento auftritt und das Team das Problem anhand der beschriebenen Schritte nachstellen kann.

Bugs fixen & Verbesserungen einbringen

Man kann über Pull Requests oder kurz „PRs“ zur Entwicklung beitragen. Im Community Backlog stellt das Community Engineering Team Issues bereit, die explizit für die Bearbeitung vorbereitet sind. Es spricht aber nichts dagegen, Fixes für jedes andere gemeldete oder nicht gemeldete Problem einzureichen. Den aktuellen Stand für bestehende PRs sieht man im Pull Requests Dashboard. Wie die Arbeit mit PRs funktioniert, lesen Sie in „How do pull requests for Magento 2 work?„.

Bei Community-Projekten mitmachen

Seit 2018 legt Magento starken Fokus auf Community-Projekte. Hier ist die Community maßgebend an der Entwicklung von Features oder Verbesserungen beteiligt. Das Resultat fließt natürlich in die Open Source Edition ein, ist also für alle kostenlos verfügbar.

Für die Projekte gibt es regelmäßige, öffentlich zugängliche Online-Meetings. Die Termine finden Sie im Community-Kalender. Sie können an den Treffen jederzeit teilnehmen.

Architektur-Entscheidungen mitdiskutieren

Um das Öko-System stärker in das technische Big Picture einzubeziehen, werden Diskussionen zu Architektur-Entscheidungen in einem Architektur-Repository geführt. Manche Diskussionen drehen sich um konkrete Details; andere betreffen weitreichende, langfristige Themen wie die Aufsplittung von Magento 2 in isolierte Service-Komponenten. Jede/r kann sich in die Gespräche einbringen und ihre/seine Meinung einfließen lassen.

Weitere Postings zu Magento 2

Beiträge, die sich mit Magento2 beschäftigen finden Sie unter folgenden Links:

  • Kategorie „Magento 2“:
    Beiträge in der Kategorie haben Magento 2 als zentralen Inhalt.
  • Beiträge mit Schlagwort „Magento 2“:
    hier finden sich Beiträge, die auch, aber nicht nur mit Magento 2 zu tun haben. Ein Beispiel dafür sind die Magento-Neuigkeiten.

1 Antwort

  1. 18.12.2014

    […] Als Anlaufstelle für meine Informationen rund um Magento 2 dient der neue “Magento 2″-Bereich. […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.