Kurzinfo


Andreas von Studnitz

mehr »

Andreas von Studnitz arbeitet seit 2012 als Geschäftsführer und Entwickler für die Magento-Agentur integer_net GmbH. Aktuelle Informationen finden Sie unter www.integer-net.de

Kontakt

Telefon:
0170 486 0 464

E-Mail:
avs(at)avs-webentwicklung.de

Twitter: twitter.com/avstudnitz

mehr »

< Warnung bei überschriebenen Konfigurations-Optionen: kostenloses Magento-Modul

Details zu Magento 2

16.06.2011 08:54

Auf dem Magento Developers Paradise Anfang Juni 2011 auf Ibiza wurden erste Details zur kommenden Version Magento 2 vorgestellt

Magento 2 wird momentan als Nachfolger von Magento entwickelt. Es handelt sich um ein sehr umfangreiches Refactoring von Magento, wird einige Strukturen und angeblich alle Funktionalitäten übernehmen, wird aber nicht kompatibel zu Magento 1 sein.

Die Veröffentlichung von Magento 2 ist momentan für Mitte bis Ende 2012 geplant.

Folgende Ziele wurden genannt:

  • Klare Prozesse und Transparenz
  • Verbesserte Produktqualität
  • Verbesserte Performance und Skalierbarkeit
  • Verbesserte Sicherheit
  • Verringerte Lernkurve (Zitat Yoav Kutner: nicht mehr 6 Monate, sondern 3 Monate)

Verwendete Basistechnologien

  • PHP ab Version 5.3
  • Zend Framework in der Version 1.x. (Die aktuell in der Entwicklung befindliche Version 2 wird aufgrund der Erfahrungen zum jetzigen Stand nicht eingesetzt, da sie noch nicht stabil genug ist. Es gab bei der Entwicklung von Magento 1 größere Probleme mit der unfertigen Version von ZF 1.0. Möglicherweise wird zu einem späteren Zeitpunkt aber die Entscheidung für einen Umstieg getroffen.)
  • JQuery als Javascript-Bibliothek
  • Unterstützung verschiedener relationaler Datenbanken. Zum jetzigen Stand sind dies MySQL, MSSQL und Oracle. Es ist gut möglich, dass auch Postgre dazu kommt.

Entwicklungsmethoden

Die internen Entwicklungsmethoden ändern sich gegenüber Magento 1 deutlich. Dies dürfte sich in einer höheren Softwarequalität niederschlagen.

Im Einzelnen sind dies:

  • Scrum
  • Automatisiertes Testen (Unit Tests mit PHPUnit, Integration Tests z.B. für die verschiedenen Datenbank-Setups, Funktionale Tests mit Selenium, Performance-Tests mit JMeter). Aktuell gibt es bereits 2.000 Unit Tests, die in 2,5 Minuten durchlaufen werden können.
  • Continuous Integration
  • Verwendung der Software-Entwicklungs-Tools von Atlassian:

  • Öffentliches Code Repository

Vor der Veröffentlichung von neuem Code müssen zunächst einige Akzeptanzkriterien erfüllt werden:

  • Interne und externe Dokumentation
  • Existenz von Tests
  • Durchführung eines Code Reviews

Als Ziele der Entwicklung wurden genannt:

  • Transparenz
  • Modularität
  • Qualität
  • Performance
  • WEB Api
  • Dokumentation

Momentan besteht das Entwicklungsteam aus 6 Personen. Es ist damit zu rechnen, dass es in Zukunft noch weiter aufgestockt werden wird.

Geänderte Modulstruktur

Magento 2 wird auch wieder in Form von Modulen aufgebaut sein. Hierbei wird auf die Code Pools (local, community, core) voraussichtlich verzichtet werden, sodass sich alle Module in einem Verzeichnis befinden werden. Dies hat hauptsächlich Performance-Gründe, sodass z.B. auf die Compiler-Funktion von Magento verzichtet werden kann.

Auch wird die Verzeichnisstruktur auf oberster Ebene schlanker gemacht (aktueller Stand):

Für den Webserver freigegeben werden muss in Zukunft nur noch das Verzeichnis "pub".

Module werden in Zukunft wie folgt aufgebaut sein:

An der Basisstruktur ändert sich wenig, bemerkenswert ist allerdings der Ordner "view". Er enthält alle Template-Dateien, die zu einem Modul gehören. Auch die Skin-Dateien werden sich in Zukunft im Modulverzeichnis befinden und bei Bedarf automatisch in den Ordner "pub" kopiert. Das Modul ist damit eine weitere, letzte, Fallback-Ebene für Template und Skin. Damit werden in Zukunft ausnahmslos alle Moduldateien in einem Ordner zu finden sind, was in vielen Punkten eine große Erleichterung sein wird.

Für Themes wird es in Zukunft ein umfangreicheres Fallback-System geben, das selbst definiert werden kann. So sind mehr als die aktuell möglichen drei Ebenen verfügbar.

Modulentwicklung

Im Bereich Modulentwicklung wird sich ebenfalls einiges tun.

  • Die Konfiguration wird verschlankt. So müssen Models oder Blocks z.B. nicht mehr definiert werden. Auch besteht die Überlegung, auf die Definition von Event-Observern per XML zu verzichten und stattdessen die Zuordnung rein anhand von passenden Methoden-Namen vorzunehmen.

  • Ob das EAV-Modell weiterhin eingesetzt wird, ist noch nicht endgültig geklärt. Nach aktuellem Stand soll die Funktionalität optional sein und je nach Wünschen des Betreibers bzw. Betreuers aktiviert oder deaktiviert werden können.
  • Die Module sollen unabhängiger voneinander werden, sodass man z.B. das Wishlist-Modul oder das Checkout-Modul einfacher deaktivieren oder ersetzen kann ("Loose Coupling")
  • Das Framework soll alle Sicherheitslücken der OWASP-Top-10-Liste verhindern.

Design

Das Erstellen eines Templates soll in Zukunft einfacher möglich sein. So wird es einen GUI-Design-Editor geben. Dieser soll ermöglichen:

  • Verwaltung von Seitentypen
  • Verwaltung von Seitenlayouts
  • Positionsierung von Blocks
  • Anpassung des Look&Feel

Auch sonstige Erweiterungen sind im Gespräch. Nähere Informationen hierzu wird es wohl erst in Zukunft geben.

Sonstiges

  • Auch wenn es keine Rückwärtskompatibilität zu Magento 1 geben wird, ist doch ein "Migration Path" angekündigt, der die Migration erleichtern soll.
  • Auch Magento 2 wird voraussichtlich als OpenSource-Projekt veröffentlicht werden. Laut Yoav Kutner ist hierzu wohl noch keine finale Entscheidung gefallen, aber er sieht keinen Grund, der dagegen sprechen würde.
  • Es soll eine Funktion zum vollständigen Aktivieren und Deaktivieren von Modulen geben
  • Die Web-API wird ausgebaut. So sollen neben SOAP und XML-RPC in Zukunft auch JSON-RPC und REST unterstützt werden.
  • Übersetzungen werden in Zukunft sprachabhängig möglich sein. Auch können unterschiedliche Übersetzungen für Frontend und Backend angegeben werden.
  • Magento 2 wird "fast alle" Features von Magento 1.x haben.
  • Aktuell ist die Performance der Entwicklungsversion von Magento 2 bereits 20% höher als die der aktuellen Version von Magento 1.x.

 

Meine Meinung

In meinen Augen macht Magento Inc. einen guten Schritt nach vorn mit der Entwicklung von Magento 2. Inhaltlich sollen viele interessante Ideen umgesetzt werden, und einige Probleme mit der alten Version sollen ausgemerzt werden. Wirklich schlechte Ideen sind mir nicht aufgefallen (auch wenn ich als Entwickler einem GUI-Design-Editor eher skeptisch gegenüber stehe).

Strategisch ist die Entwicklung von Magento 2 ein wichtiger Schritt in die Zukunft, da sich der 1.x-Zweig sicherlich irgendwann totlaufen wird und an der einen oder anderen technischen Schwierigkeit krankt, was z.B. die Performance angeht. Meiner Meinung nach ist die Entwicklung von Magento 2 ein klares Indiz dafür, dass Magento auch nach der Übernahme durch Ebay bei seiner Linie bleibt und eine starke eigenständige Software mit Magento 2 bestehen bleiben wird.

Da Magento Inc. die selbst gesetzten Zeitpläne bisher immer einigermaßen gehalten hat (mit Ausnahme von Aussagen wie "2009 wird das Jahr der Dokumentation"), bin ich auch diesmal optimistisch, dass wir bis Ende nächsten Jahres eine neue, stabile Magento-Version in Händen halten werden.

 

Alle Informationen beruhen auf den Vorträgen von Yoav Kutner und Dmitriy Soroka vom Magento Developers Paradise auf Ibiza (05.-07.06.2011).

 

Kommentare

Vinai Kopp, 16.06.11 15:58:
Danke für den Einblick und die "Screenshots" von den Vorträgen!
Hast du da noch mehr?
Daniel Sasse, 16.06.11 21:54:
Hallo Andreas,
vielen lieben Dank für die Infos / Fakten / Pläne zum kommenden Magento 2.x Release.

Ich bin ernsthaft gespannt was in der genannten Timeline möglich ist, offen gestanden wäre ich über die Umsetzung der Hälfte aller genannten Dinge schon froh! :-)

Daniel
Andreas von Studnitz, 16.06.11 22:38:
Hallo Vinai,
alle Fotos, die ich von dem Vortrag gemacht habe, kannst du unter http://www.avs-webentwicklung.de/fileadmin/images/mdp11/images_talk_magento2.zip herunterladen.
Vinai Kopp, 22.06.11 10:31:
Danke!
Tobias Vogt, 24.06.11 22:34:
Großes Lob für die umfangreiche Zusammenfassung!
Herbert , 25.06.11 09:46:
Wird ja ganz schön umfangreich. "Nicht kompatibel zu Magento 1." - find ich nicht so schlimm, da somit nicht immer der alte Ballast ewig mitgezogen wird, somit sind meistens größere Sprünge garantiert.
Simon Sprankel, 26.06.11 23:09:
Danke für die ausführliche Zusammenfassung und die Fotos von der Präsentation!
Alexander Sibert, 01.07.11 01:23:
Interessante Themen, vorallem das jQuery Framework und die bessere Performance! Danke für den Beitrag.
Thomas Zöger, 06.02.12 23:03:
Super Zusammenfassung, gerade die Themen Struktur und Modulentwicklung! Danke für den Beitrag.
Stefan , 26.03.12 10:35:
Oha - sehr schön. Da lässt man mal ein Jahr Magento wegen anderer Prioritäten liegen und schon steht uns eine komplett neue Version bevor. Finde ich gut, dass man diesen Schritt geht - und wird mir den Wiedereinstieg sicher leichter machen. Freu mich drauf und danke für die Infos.
Kommentar hinzufügen












Den Code eingeben: *


* - Pflichtfeld