Shopware 5 Serie: Die refaktorierten Coreklassen

In-der-fuenften-Was-ist-neu-in-Shopware-5-Serie-erklaeren-wir-Euch-die-reaktorierten-Coreklassen

Die heute in unserer beliebten Shopware-5-Serie vorgestellte Änderung dürfte vor allem Entwickler interessieren, die tagtäglich mit dem System arbeiten. Denn mit dem Release von Shopware 5 haben wir die Gelegenheit genutzt, eine Coreklassen-Refaktorierung durchzuführen und damit den Kern der Software noch effizienter zu gestalten. Dabei haben wir nicht nur anhand der aktuellsten technologischen Standards die Klassen neu aufgesetzt, sondern auch die darunter liegende Architektur des Kerns modernisiert. Ziel war es, eine Architektur zu schaffen, die zusammengehörige Klassen in einem Namespace vereint – die sogenannten Shopware Bundles.

Jedes Bundle definiert ein Aufgabenfeld in Shopware und bezieht die erforderten Klassen ein. Für die Frontend Refaktorierung beinhaltet Shopware 5 drei Bundles:

  • StoreFrontBundle > Zentrales Interface für Datenbestimmung im Frontend
  • SearchBundle > Abstrakte Produktsuche für Shopware
  • SearchBundleDBAL > DBAL Implementierung des Search Bundles

Von der neuen Bundle Struktur erhoffen wir uns, den Prozess leichter verständlich zu machen, sowie das Hinzufügen von Features schneller und einfacher zu gestalten.

Elastic Search

Elastic Search stand nicht nur ganz oben auf der Wunschliste unserer Community, auch intern wollten wir dieses Feature unbedingt in Shopware 5 integrieren. Mit dem StoreFrontBundle und dem SearchBundle ist es nun in der neuesten Shopware Version möglich, Elastic Search, welche auch mit Plugins von Drittanbietern kompatibel ist, zu integrieren. 

Aktuell arbeiten wir an einer Elastic Search Implementierung, bei der wir uns nicht allein auf die Performance-Optimierung, sondern auch auf eine Architektur konzentrieren, die es anderen Entwicklern erlauben soll, die Implementierung einfach zu erweitern.

Bald Warenkorb Refaktorierung

Ein anderes Thema der Refaktorierung ist der Warenkorb Prozess. Die Entwicklung eines Refaktorierungs-Konzepts läuft bereits auf Hochtouren. Hier haben wir uns folgende Ziele gesteckt:

  • Klare Definition eines Warenkorb Prozesses und die dazugehörigen Kalkulationen
  • Die Adaption definierter Schnittstellen für Plugins zu existierenden Einkaufswagen-Kalkulationen
  • Verbindung für Plugins, um ihre eigenen basket items zu definieren und sie zu kalkulieren.

Auch hier wollen wir nicht nur die Architektur modernisieren, sondern auch komplett neue Features implementieren.

Plugin System

Auch das Plugin System entwickelt sich stetig. Eines der wichtigsten Themen ist die Verbindung zum Dependency Injection Container (DIC), die es Plugin-Entwicklern erlaubt, bestehende DIC Services zu verändern, zu überschreiben oder ihre eigenen Services zu definieren.

Eine weitere Aufgabe wird es in Zukunft sein, bestehende Plugin Strukturen und Methoden zu optimieren, um so das Hinzufügen von Änderungen zu der Datenstruktur von Shopware zu erleichtern.

Mit der Modernisierung der Plugin Architektur wollen wir es außerdem einfacher für Entwickler machen, Konfigurationen am Core anzupassen.

Backend Entwicklung

In Ergänzung zu der Optimierung des Attribut Erweiterungssystems arbeiten wir kontinuierlich daran, die Backend Entwicklung zu vereinfachen, um so Entwicklern einen schnelleren Zugang zu gestatten. Wir arbeiten derzeit bereits an Konzepten, um Backend Module basierend auf HTML schreiben zu können und um Plugin Entwicklern die Erweiterung von ExtJS Code zu vereinfachen.

 

 

Autor: Oliver Skroblin

comments powered by Disqus