Rückblick SymfonyCon 2016: Community Reunion in Berlin
Jeder liebt Konferenzen, oder zumindest glaube ich das. Neben der persönlichen Wissenserweiterung gibt es mindestens einen weiteren Vorteil: Man gewinnt neue Freunde! Da ich ein Symfony-Anfänger bin, war die diesjährige SymfonyCon in Berlin meine erste Veranstaltung dieser Art. Rund 1.200 Entwickler aus über 40 verschiedenen Ländern haben an der Konferenz teilgenommen – es war also die perfekte Gelegenheit, neue Leute kennenzulernen und Erfahrungen auszutauschen. Ärgert euch nicht, falls ihr nicht dabei sein konntet; alle Talks werden auf dem YouTube Channel von SensioLabs verfügbar sein.
Talks, Workshops, Discussionen: Das waren meine Highlights
SensioCloud mit Fabien Potencier
Die Konferenz startete mit der Keynote von SensioLabs CEO Fabien Potencier, der unter anderem SensioCloud angekündigt hat: Hierbei handelt es sich um eine entwicklergetriebene Hosting-Umgebung, die ab 2017 verfügbar sein soll. Die Verwendung eines Git Repository als Einstiegspunkt für die Codebase (inklusive Database, Caches, User Sessions, Assets etc.). Das ermöglicht uns in einer Umgebung zu entwickeln, die identisch zu der Live-Umgebung ist, ohne die Live-Umgebung selbst zu gefährden.
SensioCloud wird eine API und Integration mit externen Services wie Jira anbieten. Ein Anwendungsbeispiel ist ein Bugfixing, für das eine neue Umgebung mit eigener URL kreiert wird. Diese kann für das Testen und Überprüfen der implementierten Änderungen auf dieser Umgebung mit Projektmanagern geteilt werden. Da es sich dabei im Kern um einen Hosting-Service handelt, ist die Idee dahinter natürlich, dass die Live-Umgebung auf SensioCloud gehosted wird und man dadurch Zusatzleistungen wie automatisiertes Traffic-Management und skalierbare Nutzung erhält, während man ein komplettes Umgebungs-Packet, verwaltet von SensioCloud, zur Verfügung gestellt bekommt.
Do not (always) use FOSUserBundle mit
Damien Alexandre
Das FOSUserBundle ist ein tolles Set für Symfony n00bs wie mich, um in das Symfony User-Management einzusteigen. Aber Damien rät dazu, sich vorher zu fragen, ob dessen Verwendung für ein professionelles Projekt wirklich die richtige Entscheidung ist. Warum? Naja, FOSUserBundle ist ziemlich eigensinnig. Das bedeutet, dass bei der Entwicklung hinsichtlich der Funktionen des Bundles Entscheidungen getroffen wurden, die vielleicht nicht zu den Anforderungen für das eigene Projekt passen. Wenn man sich trotzdem dafür entscheidet, ist es wahrscheinlich, dass die bestehende Implementierung angepasst oder sogar gehackt muss. Und wenn man fertig ist, wurde vermutlich mehr Zeit in die Änderung investiert, als die Entwicklung eines eigenen Bundles gekostet hätte. Man sollte sich also vorher genau überlegen, ob man die meistgenutzten (und gehassten) Symfony Bundles wirklich verwenden möchte.
Challenges and solutions in getting your open source company to contribution
mit Jeffrey A. McGuire und Chris Jansen
In diesem Talk haben die Speaker erläutert, warum und auf welche Weise man sich als Entwickler an Open Source-Projekten beteiligen sollte und wie die Werte und Ideen für eine offizielle Teilnahmegenehmigung den Vorgesetzten vermittelt werden können, um auch das Unternehmen zu einem Teil der immer wachsenden Open Source-Community zu machen.
In diesem Zusammenhang möchte ich erwähnen, dass Cocomore bereits ein aktives Mitglied der Open Source-Community ist und sich an dem Open Source-Projekt Drupal beteiligt.
Knowing your state machines
mit Tobias Nyholm
Tobias Nyholm hat eine interessante Präsentation über State Machines und darüber, wie nützlich und anwendbar sie in einem Projekt sind, gehalten. In State Machines gibt es verschiedene „States“, auf die und von denen man über eine sogenannte „Transition“ springen kann. In einer Applikation kann man sich diese Transitions als Aktion des Users vorstellen, die den aktuellen Status der Applikation verändert. Die Beschreibung der möglichen States und der entsprechenden Transitions definieren im Wesentlichen den Workflow. Daraus entstand ein Workflow Component, der für Symfony 3.2 verwendet werden kann. Mit diesem Component kann man Sequenzen von Operationen beschreiben, z. B. wie der User ein mehrstufiges Formular oder die Regeln eines Spiels durchlaufen soll.
Symfony Flex by Fabien Potencier
Fabien Potencier gab einen Einblick in ein persönliches Projekt, an dem er in den letzten zwei Monaten intensiv gearbeitet hat und das bald veröffentlicht werden soll: Symfony Flex. Hinsichtlich der Tatsache, dass die Installation oder Deinstallation eines neuen Bundles nicht immer die einfachste (oder sauberste) Aufgabe ist, wird Symfony Flex die „zero-config“-Installation eines neuen Bundles ermöglichen, sie im Prozess autorisieren und konfigurieren und hoffentlich dafür sorgen, dass die Bundles hinter sich „aufräumen“, wenn sie deinstalliert werden. Es wird Entwicklern außerdem erlauben, nur die Mindestanzahl der von Symfony geforderten Components und Elemente zu nutzen, damit ihr Projekt läuft, was super fürs Prototyping ist. Das wird beim Launch natürlich nicht ohne weiteres für alle Bundles funktionieren, da die Bundles dieses Verhalten unterstützen müssen. Am Ende liegt es an der Symfony Community zu einem schnellen Start von Symfony Flex beizutragen und den Support des neuen Tools für die besten und am häufigsten verwendeten Bundles hinzuzufügen.
Ein weiteres Ziel ist also, dass die Community selbst entscheidet, welche die wichtigsten Bundles sind und diese zu bevorzugen. Wenn man z. B. Administrations-Bundles/System in einer Symfony Installation implementieren will, kann man das Tool einfach bitten „admin“ zu installieren und es wird das beste Admin-System, ernannt von der Community, installieren, ohne dass man ein bestimmtes auswählen muss – obwohl man das auch weiterhin könnte, wenn man möchte. Das minimiert natürlich die Einstiegshürde für Symfony-Anfänger und erleichtert die Arbeit für Profis.
Ich bin ganz schön begeistert und fasziniert von Symfony Flex und kann es kaum abwarten, dass es rauskommt, um zu sehen, was als nächstes passiert! Wird die Community dieses neue Projekt annehmen oder ablehnen?
Alles in allem war die SymfonyCon ein großartiges Event für mich und ich freue mich auf 2017, wo die Konferenz übrigens in Rumänien stattfinden wird. Ich möchte mich bei den Veranstaltern, dem Team, den Rednern und den Sponsoren bedanken – besonders bei Shopware, dem offiziellen Kaffee-Sponsor ;-). Danke, dass ihr SymfonyCon ermöglicht und zu so einer tollen Erfahrung gemacht habt.
Bis zum nächsten Jahr!