Magento bringt mit der Version 2.0 endlich ein umfassendes Update des E-Commerce-Systems auf den Markt. Zunächst soll im Frühjahr 2015 der Developer Release Candidate (RC) erscheinen, danach ist für Sommer/Herbst die Merchant Beta geplant. Aktuell entwickelt Magento gemeinsam mit der Community fieberhaft an der Developer Beta weiter und macht große Fortschritte. Dass die neue Version mit MySQL 5.6 und PHP 5.5 eine bessere Leistung bietet sowie mit CSS3, HTML5 und jQuery Technologien für zeitgemäße Frontend-Architekturen liefern wird, ist ja bereits bekannt. Im Folgenden lesen Sie weitere Hintergründe zur Planung.
Ein großes Plus ist künftig der deutlich niedrigere Schwierigkeitsgrad für den Einstieg in die Magento-Entwicklung. Die moderne Architektur erlaubt State of the Art-Modulentwicklung und wird damit auch die Qualität der zukünftigen Magento 2 Implementationen deutlich steigern.
In Sachen Qualität spielen auch die deutlich verbesserte Testbarkeit durch umfangreiche Automatisierung und die Tatsache, dass Magento bereits Möglichkeiten und Tests für Unit Tests mitliefert (eigenes Test Framework), eine wichtige Rolle. Magento als "Hersteller" der Software hat Qualität, Stabilität und Performance ganz klar als oberste Ziele für Magento 2 ausgerufen. Nur ein umfassend getestetes System, mit der Möglichkeit auch individuell erstellte Module zu überprüfen, kann diese Ziele erreichen- und damit die Nutzerzufriedenheit sichern.
Nachdem die Qualität unter anderem durch die Unit Tests als sehr gut bewertet werden kann, gibt es beim Thema Performance aktuell noch Handlungsbedarf. Ein Schritt in die richtige Richtung ist auf jeden Fall das mitgelieferte Performance Toolkit. Damit lassen sich Performanceengpässe und Problemstellen einfach und effektiv identifizieren und eliminieren.
Und noch einmal das Thema Tests: Im Frontend wird es davon zukünftig auch mehr geben. Wofür sich Magento entscheidet - JsTestDriver oder Karma Testrunner - da gehen die Meinungen auseinander. Ebenso darüber, welche Teile von JavaScript nun tatsächlich sinnvoll zu testen sind.
Beim Frontend ist die Frage LESS oder SASS bisher noch nicht geklärt. Vor- und Nachteile sind jeweils abhängig vom konkreten Vorgang, was eine einheitliche Lösung unwahrscheinlich macht. Viele Magento-Partner haben sich hier entschieden, einen eigenen Weg zu gehen.
- Magento Imagine Konferenz 2014 in Las Vegas
Bei der Arbeit mit der REST API fällt immer wieder der wesentlich sauberere Code von Magento 2 auf, aber auch die leicht verständlichen webapi.xml Dateien. Das Ansprechen von Magento über REST ist im Vergleich zur vorhergehenden Version nun wirklich performant und hochflexibel.
Ein weiteres Thema sind die Container, die es nun neben den Blocks für die Frontendausgabe gibt. Viele sind mit dem Konzept der Container,zumindest mit der Verwendung in Magento 2, noch nicht wirklich vertraut. Das container-basierte Layout muss also noch besser erklärt werden, insbesondere was es für die Inhalte von var/generation/* bedeutet.
Bessere Erklärungen sind generell eine zentrale Forderung. An vielen Stellen, da sind sich Partner, Entwickler und Magento einig, müssen die Dokumentationen noch optimiert werden. Beispielsweise wie man zukünftig bessere Fehlermeldungen ausgeben kann, damit Entwickler nicht mit Standardmeldungen im Dunklen gelassen werden. Aber auch mehr sinnvolle Real-Live Beispiele werden benötigt - ein Fakt, den auch Magento erkannt hat.
Auch beim Conflict Management sollte noch nachgesteuert werden. Wie lässt sich etwa sicherstellen, dass sich Module mit ihren Überschreibungen nicht gegenseitig in die Quere kommen? Ein Ansatz ist der Interceptor, aber auch hier gibt es viele Punkte die beachtet werden müssen - Magento geht aber ausführlich auf die Anmerkungen der Partner und Entwickler ein.
- Die Online-Fanshops der Bundesligavereine
Beschäftigt man sich mit dem Aufbau von Magento 2, geht es sehr schnell um architektonische Fragen und insbesondere um Abhängigkeiten. In manchen Fällen löst ein genauer Blick dann aber doch ein Stirnrunzeln aus. Warum das Customer Modul von der Wishlist abhängt, ist niemandem wirklich klar.
In der Backend-Entwicklung wurde intensiv über die nicht konsistente Modul-Validation gesprochen. Magento 2 geht hier mit Service Contracts einen sehr flexiblen Weg. Ein gutes Beispiel dazu findet im Modul Magento_Customer. Man fragt sich aber, warum es auch andere "Wege" in Magento 2 gibt - Form Factory, Zend_Validate oder einfach InputExeptions -, wenn Service Contracts quasi Best-Practice sind.
Man darf bei dieser Momentaufnahme nicht vergessen, dass Magento gerade erst in der Beta Phase ist. Von einer GA Version (General Availability) ist man noch weit entfernt. Aber man erkennt, dass das Unternehmen die richtigen Schritte einleitet, um ein stabiles, performantes und skalierbares E-Commerce Framework mit Magento 2 abzuliefern. (bw)