Magento 2 1.2.2017

Schnellstart als Magento-2-Entwickler

Dieser Blogartikel wurde ursprünglich im Jahr 2017 veröffentlicht.

In Entwicklerkreisen hört man von vielen Personen, dass die Arbeit mit Magento 2 anspruchsvoll ist. Auch für mich als langjährigen Magento-1-Entwickler war die Umstellung auf Magento 2 nicht einfach. Mit den verschiedenen, zur Verfügung stehenden Ressourcen kann man sich diesen Lernprozess erleichtern. In wenigen Wochen haben es zwei meiner Teamkollegen und ich geschafft, Magento-2-Entwickler zu werden. Wie uns das gelungen ist, beschreibt dieser Artikel. Erst Ende Oktober habe ich mit der Entwicklung des ersten Magento-2-Projektes begonnen und habe bereits Mitte Dezember eine Entwicklerschulung zu Magento 2 gehalten.

Magento-1-Erfahrung

Auch wenn Magento 2 teilweise völlig andere Entwicklungsmethoden aufweist, ist viel Erfahrung mit Magento 1 sehr hilfreich beim Erlernen von Magento 2. Dazu gehört das Wissen, welche Funktionalität sich in welchem Core-Modul befindet, und wie die Datenbank aufgebaut ist. Auch Konzepte wie Collections, Layout-XMLs oder MVC sind Magento-1-Entwicklern so oder so ähnlich bekannt. Wer sich in Magento 1 gut auskennt, findet sich in Magento 2 schneller zurecht. Allerdings habe ich auch schon von anderen gehört, dass das Erlernen von Magento 2 "frischen" PHP-Entwicklern teilweise leichter fällt als erfahrenen Magento-1-Entwicklern. Unabdingbare Voraussetzung ist aber, neue Konzepte zu akzeptieren und sich auf manch ungewöhnliche Vorgehensweise in Magento 2 einzulassen.

Lesen, Lesen, Lesen

Seit die ersten Beiträge zu Magento 2 publik wurden, haben meine Kollegen und ich diese verfolgt. So konnten wir bereits im Vorfeld einen guten Überblick darüber erhalten, welche Konzepte in Magento 2 enthalten sind. Außerdem erhält man darüber viel Wissen, welche Technologien bereits ausgereift sind oder wo es noch hakt, worauf man achten und worauf eher verzichten sollte. Durch Lesen von Blogbeiträgen und Kurzmeldungen (z.B. per Twitter unter dem Hashtag #magento2) lässt sich bereits viel theoretisches Wissen anhäufen.

Hackathon

Die Initialzündung war für mich die Teilnahme am Magento-2-Hackathon in Zürich im Oktober 2015, kurz vor der Veröffentlichung von Magento 2. Ich habe mich dort mit zwei anderen erfahrenen Magento-1-Entwicklern, die ich vorher noch nicht kannte, zusammen getan, um die ersten Schritte in Magento 2 zu machen. Diese ersten Hands-On-Erfahrungen waren für meine weitere Motivation essentiell - für mich war es die positive Erkenntnis, dass der Einstieg in Magento 2 nicht so komplex ist, wie ich vorher befürchtet hatte. Ich bin mir sicher, dass es auch aktuell ausreichend Magento-2-Einsteiger gibt, um entsprechende Gruppen auf Hackathons zu bilden. Bei weiteren Hackathons habe ich meine Arbeit mit Magento 2 vertieft - mit Abstand am Wichtigsten war aus meiner Sicht allerdings dieser erste Magento-2-Hackathon.

MageUnconference

Ein weiteres Event war wichtig für meinen Schnellstart in die Magento-2-Entwicklung: Die MageUnconference im März 2016. Besonders hervorzuhaben ist hier die Session von Peter Jaap Blaakmeer, der einen Einstieg in Magento-2-Entwicklung vorgestellt hat.

Dieser Beitrag von Peter Jaap war auch Teil eines Schulungsprogramms - insofern würde ich den Besuch einer Schulung als gleichwertig ansehen. Auch auf anderen Konferenzen gab es bereits geeignete Vorträge, die in die Magento-2-Entwicklung einführten. Wichtig war für mich, bereits vor dem eigentlichen Einstieg in die Entwicklung einen guten Überblick zu bekommen. Dadurch fühlte ich mich schon vor der ersten Zeile Code gut vorbereitet.

Das Projekt

Essentiell für das Erlernen von Magento 2 ist natürlich die (Mit-)Arbeit an einem echten Magento-2-Projekt. Nur dadurch kann meiner Meinung nach die unbedingt notwendige Entwicklungserfahrung erworben werden. Mit den oben beschriebenen Grundlagen war der Einstieg erfreulicherweise relativ schnell und schmerzlos. Innerhalb weniger Wochen fühlte ich mich sicher genug, mein erworbenes Wissen selbst in Form einer Schulung weiter zu geben.

Der Debugger

Während bei Magento 1 die Entwicklung ohne einen Debugger wie XDebug noch relativ problemlos möglich ist (ich kenne zumindest mehrere Entwickler, die noch nie einen Debugger genutzt haben), halte ich das bei Magento 2 für problematisch, hauptsächlich wegen der gestiegenen Komplexität. Die Ausführungspfade sind länger und komplizierter geworden, und gerade beim Einarbeiten in die neuen Technologien hilft ein Debugger sehr. Meinen persönlichen Aha-Moment hatte ich 2016 während des Hackathons in Paderborn, wo ich versuchte, herauszufinden, wie die Dependency Injection funktioniert. Erst der Debugger hat mich zu automatisch generierten Klassen und zum Einsatz von Reflection geführt, wodurch mir die Prinzipien letztlich klar geworden sind.