Auf dem Weg ins (Developers) Paradise
Das Event fand im wunderschönen, aber in der Nebensaison nicht ganz so gut erreichbaren, Opatija an der kroatischen Adria statt. Wir entschieden uns also für eine Anreise bereits am Sonntag. Es gab keine geeigneten Direktflüge zu den umliegenden Regionalflughäfen wie Rijeka oder Pula, also planten wir unsere Anreise über Zagreb.
Bereits die Anreise wurde zum Community Event. Die Integers Fabian Schmengler, Cristina Pisca and ich trafen Tobias Vogt, Matthias Kleine, Nils Preuß, Simon Sprankel, Christoph Aßmann and Benjamin Heuer an den Flughäfen München und. Zagreb. Ein Großteil von uns saß bereits im selben Flieger nach Zagreb. Dort hatten wir im Vorfeld einen kleinen Bus samt Fahrer angemietet und fuhren alle gemeinsam in guter Stimmung zum Ziel unserer Reise.
Der letzte Teil der Route führt über Serpentinen von den umliegenden Bergen in die Bucht von Opatija. Dort erwartet einen eine beeindruckende und malerische Kulisse. Am Konferenzhotel angekommen wurden wir mit hervorragendem Service begrüßt. Die meisten Delegierten bekamen aufgrund der (für uns) günstigen Buchungssituation entgegen der ursprünglichen Reservierung ein „Upgrade“ auf Deluxe-Zimmer in einem recht neuen Gebäudeteil des Hotels – bestehend aus verschieden thematisierten Komplexen. Nach kurzer Akklimatisierung ließen wir den Abend bei kroatischem Essen im Anblick der wunderschönen Bucht von Opatija ausklingen.
Unter dem Hashtag #roadToDevParadise dokumentierten auch andere Teilnehmer nach dem Vorbild der Magento Imagine ihre Reiseimpressionen.
Hackathon und erste Eindrücke
Am Montagmorgen traten ca. 45 Teilnehmer zum Hackathon an, dankenswerterweise organisiert von Damian Luszczymak. Aus meiner Sicht als Frontend-Entwickler gab es „nur“ ein relevantes Thema. Allerdings eines mit einem riesigen Einfluss auf die tägliche Arbeit mit Magento 2 und damit von großer Wichtigkeit.
Performance-Optimierung des static-content:deploy
Jisse Reitsma wollte sich mit der Implementation des Static Content Deployment in Magento 2 beschäftigen und versuchen, hier die Performance im Allgemeinen zu verbessern. Dabei handelt es sich um einen wesentlichen und lebenswichtigen Bestandteil des Prozesses, mit dem Magento 2 seine Frontend-Komponenten zur Bereitstellung/Ansicht vorbereitet. Hier werden eine unglaublich hohe Anzahl von Dateisystem-Operationen ausgeführt, und der Einfluss auf die Performance während des Entwicklungsprozesses ist immens.
Es stellte sich heraus, dass die Implementation selbst betreffend nicht mehr viel optimiert werden konnte. Das Team fügte letztendlich hauptsächlich zusätzliche Flags hinzu, die als CLI-Parameter genutzt werden können, um mehr Kontrolle über die im Deployment berücksichtigten Elemente zu erhalten. Arbeitet man beispielsweise nur an den LESS-Dateien, so benötigt man üblicherweise nicht auch noch das Processing für HTML, JavaScripte, Bilddateien, Übersetzungen, und so weiter.
Als Ergebnis stehen aktuell zwei Pull Requests im Magento 2 Repository aus:
Static deploy flags
Check for MD5 changes when deploying static content
Wissenswertes über Opatija
Nachmittags nutzten wir die Gelegenheit, an einer von Inchoo organisierten, geführten Tour teilzunehmen. Demnach ist Opatija ein relativ junger Ort, der im späten 19. Jahrhundert durch Österreicher vor allem als Luftkurort für Wohlhabende etabliert wurde. Obwohl das Wetter für den beginnenden Opatijschen Sommer (mit einer meist extrem ruhigen See, wenig Niederschlag und vieeeeeeeel Sonne) ungewöhnlich wechselhaft und kalt war, ist Opatija mit seinen schönen, verschlungenen Uferpromenaden und winzigen Buchten ein überaus einladender Ort. Spoiler: Man findet dort auch den kroatischen „Walk of Fame“…
- Yacht-Hafen von Opatija
- Kvarna Hotel mit Promenade
- Hotel Kvarna
- Bucht von Opatija
- Bambus im Angiolina Park
- Blick nach Cres/Krk
- Typisches Stadtbild in Opatija
- Kapelle in Opatika
- Seemann im Hafen
- Promanade und Badeanlagen in der Bucht
- Die Frau mit der Taube wartet auf ihren Seemann
- Yacht-Hafen in der Dämmerung
Eat all the chocolate!
Eines lernten wir sehr schnell über unseren Gastgeber: Das Inchoo Team versteht es, Parties zu veranstalten! Ohne zu sehr ins Detail zu gehen, möchte ich hervorheben, dass uns auf der ersten offiziellen Party eine mehr als 4 Meter lange Schokoladenstraße erwartete, die neben dem Eventlogo auch verschiedene, nerdige Szenen abbildete. Es wurden sogar winzige Hammer ausgelegt, die das Zerkleinern der Platten in mundgerechte Stücke erleichtern sollten. Zusätzlich wurden tausende, nein Millionen, kleiner Shot-Gläser aus Schokolade aufgefahren, mit denen eine Auswahl lokaler Likörspezialitäten verköstigt werden konnte. Oh, und es gab zusätzlich noch einen Schokoladenbrunnen!
Back on Track
Der Übergang zum Programm am Dienstag erwies sich als etwas anstrengender als erwartet – vor allem im Hinblick auf die am Vorabend konsumierten Mengen an…Schokolade. Trotzdem (oder gerade deswegen?) gelang ein sehr schöner Auftakt zum offiziellen Teil des Konferenzprogramms mit einer Fülle an interessanten Einblicken, Vorträgen, Unterhaltungen und Gedanken. Als Frontend-Entwickler überlasse ich Details zu den Veranstaltungen des ersten Tages gerne meinen geschätzten Backend-Kollegen (außer dir, mein lieber Tobias, du weißt schon, warum 😀 ) und möchte lediglich den Beitrag von integer_net Backend-Entwickler Fabian Schmengler hervorheben, der über die Portierung komplexer Extensions nach Magento 2 referierte.
Zusätzlich kündigte er die Veröffentlichung einer freien Version unseres IntegerNet_Solr Moduls noch in diesem Jahr an.
Um die Prozesse in unseren heißgelaufenen Köpfen neu zu starten, wurde uns von Inchoo mit der zweiten offiziellen Party am Abend das entsprechende Programm geliefert. Der Abend wird vielen noch in Erinnerung bleiben, die Community war ausgelassen und guter Stimmung und ich konnte jede Menge Ideen und Gedanken mit vielen interessanten Leuten austauschen.
Ich bin nicht allein!
Das beschreibt ziemlich gut das überwältigende Gefühl, dass ich aus dem zweiten Konferenztag am Mittwoch mitnehmen konnte.
Der Einstieg in die Mysterien des neuen Frontend-Workflows von Magento 2 erwies sich bisher als steiniger und nicht gerade geradliniger Weg. Das Hören von Hrvoje Jurišićs Vortrag zum CSS-Preprocessing in Magento 2 war in gewisser Weise eine Offenbarung. Es war verblüffend, ihn mehr oder weniger einen Klon einer internen Präsentation halten zu sehen, die ich im Rahmen unseres letzten Magento-Stammtisches erstellt hatte. Noch erstaunlicher die Tatsache, dass er zu exakt den gleichen Schlussfolgerungen und Bedenken kommt. Als er denselben Begriff des „Prepreprocessing“ ( oder „Pre2processing“, nach meiner bevorzugten Schreibweise) prägte, mit dem auch ich Magentos Ansatz gerne beschreibe, konnte ich wirklich nicht mehr an mich halten.
Bis zu diesem Vortrag beschäftigten mich immer wieder Fragen wie
Basieren meine persönlichen Schlussfolgerungen auf den richtigen Annahmen?
Sind meine Interpretationen valide?
Ist meine Einschätzung objektiv oder von persöhnlichen Gewohnheiten/Vorurteilen beeinflusst?
Aber spätestens mit der darauffolgenden Diskussion verschwanden all diese persönlichen Zweifel mehr oder weniger in einer Sekunde. Je mehr ich mit Entwickler-Kollegen spreche, desto sicherer werde ich mir in dem Punkt, dass der Weg, den Magento mit seinem neuen Workflow einschlägt, nicht der richtige ist. Und ich werde mir immer sicherer, dass die Entwicklergemeinschaft ihre eigenen Wege und Lösungen suchen und finden wird, sollten seitens Magento keine signifikanten Optimierungen zu erwarten sein. Dieser Prozess hat bereits mit Projekten wie Snowdogs Magento 2 Blank Theme using SASS begonnen.
Ich werde hier kein Urteil fällen und technische Details sind Bestandteil folgender Beiträge. Magento hält die Entscheidung über die Zukunft des eigenen Frontend-Frameworks in den eigenen Händen. Möchte man die Entwickler hier an Bord haben, sei es im Hinblick auf die Nutzung von „Best Practices“ im Magento-Kontext, oder im Hinblick auf den Beitrag zu einem robusten, flexiblen und intuitiven Frameworks, so muss Magento zwangslaufig die nötigen Bedingungen schaffen, um ihren Ansprüchen (und denen der Kunden) gerecht zu werden.
Aktuell kann sicher niemand sagen, wie sich die Geschichte entwickelt, aber für den Anfang muss ich Ben Marks‘ Arbeit als Community Evangelist hervorheben. Er wirft sich in den Kugelhagel, scheut nicht die Konfrontation. Wir haben das Gefühl, dass er zuhört und unseren Bedenken gegenüber aufgeschlossen ist. Wie es damit weiter geht? Das wird sich zeigen müssen.
Der Vortrag ohne Thema
Ein weiterer Beitrag, den ich hervorheben möchte, ist ein nicht-technischer. Wieder war es Ben Marks, der die Größe hatte, die offene Frage nach „jeglichen Beschwerden über Magento 2“ an das versammelte Publikum zu stellen. Die folgende Diskussion lief sehr diszipliniert und konstruktiv ab. Hier eine Liste der wichtigsten Punkte, getwittert von Ben im Anschluss der Veranstaltung.
We'll see if I'm still employed tomorrow… https://t.co/xgxgQTNH2K
— Ben Marks (@benmarks) 27. April 2016
Fazit
Nach zwei großartigen Tagen voller inspirierender Vorträge und Diskussionen gab es (selbstverständlich) eine dritte offizielle Party, wieder anders als ihre Vorgänger. Inchoo, ihr seid verrückt! Die Stimmung war bombastisch und die Teilnehmer hatten sichtlich Spaß.
Ich für mich habe eine Menge interessante Leute kennengelernt und einiges an hilfreichen Einblicken mitgenommen. Es hat mich umgehauen, so viel an Verständnis und gleichartigen Gedanken und Bedenken zu begegnen im Hinblick auf meine, nein unsere Arbeit als Frontend-Entwickler mit Magento 2. Ich bin nun recht optimistisch, dass, selbst wenn seitens Magento keinerlei Optimierungen zu erwarten sein sollten, die Entwicklergemeinschaft Lösungen suchen, finden und teilen wird.
Und das fühlt sich gut an!
Mein Kollege Fabian hat ebenfalls einen Bericht zum Developers Paradise aus der Perspektive eines Backend-Entwicklers geschrieben, der weitere Details zu den verschiedenen Vorträgen enthält.

Autor: Sandro Wagner
Sandro Wagner ist Mediengestalter für digitale und Druckmedien. Während seiner dreijährigen Selbstständigkeit hat er für verschiedene Agenturen und nationale sowie internationale Kunden gearbeitet, wobei er sich auf Frontend-Entwicklung und CMS-Integrationen fokussiert hat.
Bei integer_net ist er als Magento Certified Frontend Developer tätig.