SymfonyCon Lisboa 2018
Namens Alteza mochten ik (Wiebe Zweers) en Pascal Woerde naar hét evenement voor Symfony ontwikkelaars gestuurd. Ik heb het natuurlijk over SymfonyCon 2018, dit keer georganiseerd in het mooie Lissabon. Voor de niet ingewijden; Symfony is een van de meest gebruikte enterprise PHP frameworks vanwege haar stabiliteit, hoge performance, goede documentatie en modulaire opzet.
Woensdagmiddag vertrokken we voor de tweede keer dit jaar naar Lissabon, we waren er 's avonds op tijd om nog wat lekkers te eten en zelfs de stad nog een beetje te verkennen. Met een van de collega's van Pascal (die nu bij XS4All zit) zijn we bij de lokale Nepalees terecht gekomen, daar werd dapper gezegd dat een beetje pittig best wel mocht. Het duurde niet lang voordat bleek dat het biertje niet genoeg was om de brand te blussen en de eerste zweetpareltjes op het voorhoofd verschenen, gezellig was het wel :)
Congresdag 1:
Na een goede nachtrust en een stevig ontbijt waren we klaar voor een dag vol interessante talks, te beginnen bij Samuel Roze die als een van de hoofdontwikkelaars praatte over wat het afgelopen half jaar heeft betekend voor zijn geesteskind; de Messenger Component.
De component is een van de nieuwste onderdelen van Symfony en is daardoor nog experimenteel, hoewel het al wel duidelijk is dat dit label er snel vanaf zal gaan. De focus van deze talk lag vooral op de mogelijkheden en toepasbaarheid in de praktijk.
Deze component is een bijzonder elegante uitwerking waarbij een volledig command bus pattern wordt gefaciliteerd met middleware ondersteuning. Opmerkelijk is het gebruik van berichten zoals de naam van dit component doet vermoeden. Berichten worden in een zogeheten envelop gestopt om flexibiliteit te waarborgen voor de afhandeling door een bus. Enveloppen kunnen voorzien worden van stempels, deze bevatten allerlei soorten informatie voor de gewenste afhandeling. De bus zorgt voor de uiteindelijke afhandeling en spreekt de nodige middleware aan. De schoonheid van deze component zit hem in de aparte transport layer, waar feitelijk de betreffende message queue of onderliggende techniek wordt aangesproken.
Wat mij betreft was de talk over het gebruik van het Symfony Forms Component met rijke domein modellen het andere hoogtepunt van de dag. Er werd gesteld dat "Anemic" (bloedarme) modellen minder geschikt zijn voor het ontwikkelen volgens een Domain Driven Design methodiek, maar dat de Forms component deze manier niet lekker ondersteund. De oplossing hiervoor werd ook gepresenteerd in de vorm van de RichModelFormsBundle, een pragmatische bundle welke developers door een setje extra opties veel flexibeler om te gaan met het design van de objecten waaraan de Forms gebonden worden.
Voor het avondprogramma was een groot café aan de Comércio Plaza afgehuurd, hier werd voorzien in hapjes, drank en goede gesprekken.
Congresdag 2:
De dag begon met een talk door Anthony Ferrara met de titel "Microservices gone wrong". Hij hield een verhaal waarin verteld werd hoe zijn bedrijf zo voorop liep in de race naar microservices in de cloud en de valkuilen waarin zij zijn getrapt, lang ( maar wel interessant ) verhaal kort; maak je services niet te micro want knippen is makkelijker dan samenvoegen. Er is een afweging te maken tussen hoe snel je een microservice wilt neerzetten en hoe onderhoudbaar deze moet zijn.
Het praatje van Tobias Nyholm over de Symfony 4 internals was erg leuk gedaan, live programmerende werd een hele basic pagina uitgebouwd tot iets wat erg leek op het symfony framework. Risky business natuurlijk om dit voor een zaal met 100+ man live te doen maar de demo-goden waren gunstig gestemd.
De dagen vlogen voorbij, we hebben er veel van opgestoken en het voelde bijna als vakantie. Het was ongeveer 20 graden en ondertussen kwamen er appjes van het thuisfront over regen en kou, ik ga alvast opzoek naar een volgend congres ergens in het zuiden!