Oimmei ha partecipato al congresso Symfony Live London 2016. Una nuova esperienza inglese per noi, diversa dalle precedenti, ma sicuramente molto interessante.
La prima cosa da segnalare è l’imponente organizzazione di cui gran parte del lavoro è stato fatto da Anne Sophie Bachelard, che ha curato ogni minimo aspetto della comunicazione, a partire dalle email dei giorni precedenti a chi ha partecipato ai workshop alla conduzione della conferenza del secondo giorno.
Sicuramente ci sarebbe tanto da dilungarsi, ma cercheremo di andare subito al sodo.
Sono stati due giorni intensi: il primo dedicato ad un workshop (ce ne erano 4 a cui era possibile partecipare, abbiamo scelto il workshop dedicato ad API Platform 2.0), ed il secondo è stato un susseguirsi di talk, spesso in contemporanea in più sale, e per questo abbiamo dovuto scegliere quelli che secondo noi potevano essere più interessanti per il nostro lavoro.
GIORNO 1: PLATFORM API 2.0
Questa giornata è stata sicuramente la giornata di maggior interesse di questa due giorni. Abbiamo assistito alla presentazione in anteprima della nuova Platform API 2.0. La Platform API 2.0 sfrutta al massimo le potenzialità di Symfony 3.0 e del PHP 7.0 e ci hanno lasciato molto entusiasti.
Il seminario è stato tenuto da Samuel Roze (ideatore del progetto) (github) coadiuvato da Kévin Dunglas (github) e Amrouche Hamza (github), altri due sviluppatori del progetto (Kévin è anche uno degli sviluppatori del Core di Symfony).
In classe eravamo in 8, provenienti un po’ da tutta Europa (eccetto 2 Indiani) e tutti al primo approccio con l’API Platform.
La giornata è passata realizzando la demo che attualmente presentano su https://demo.api-platform.com/ e c’è da dire una cosa: il codice scritto è stato veramente minimo!
Le API Platfom 2.0 sono veramente impressionanti per velocità di sviluppo e semplicità!
Le Annotation sono le artefici di questa “magia”. Se si conoscono bene è possibile scrivere pochissimo codice! Questo ci spinge a dire che con molta probabilità, considereremo di usarle nelle prossime App che Oimmei svilupperà!
Naturalmente finita la demo abbiamo abbiamo avuto modo di vedere anche altre funzionalità che già ora stiamo usando nelle nostre integrazioni web-app e che ci stanno permettendo di sviluppare con maggior velocità e minor probabilità di errori le nostre chiamate server.
Ci sono tante cose da dire sulle Platform API 2.0, ci ripromettiamo di parlarne in futuro in un articolo dedicato, per ora vi lasciamo con un parere più che positivo!
GIORNO 2: IL SYMFONY DAY
Mentre ai seminari la partecipazione era di poche decine di persone (circa 30 fra tutti e 4 i workshop) alla seconda giornata erano presenti oltre 300 sviluppatori da tutto il mondo! È stato impressionante vedere tutti questi sviluppatori riuniti a Londra per seguire e per conoscere le novità di Symfony 3, ed è stato deludente scoprire che Oimmei è stata l’unica realtà italiana a partecipare!
Dopo una breve presentazione fatta Anne Sophie che ci ha illustrato la giornata, e subito dopo sono iniziati i talk, tutti rigorosamente della durata di 40 minuti.
Poiché molti talk, come già scritto, erano in contemporanea, abbiamo seguito quelli che ci sembravano più adatti al nostro target lavorativo: non sempre abbiamo azzeccato il talk più adatto, ma comunque è stato interessante.
Dopo il benvenuto, Beau Simensen (github) ha messo subito le cose in chiaro: Symfony non è facile da digerire, è potente, ma molto ostico, soprattutto se non si seguono le best practics suggerite dalla Sensio Labs. L’organizzazione del codice è essenziale per la manutenibilità dei progetti. Se si approccia allo sviluppo senza avere le idee chiare, il rischio è di avere un codice confuso. La cosa interessante è che ha demonizzato l’uso dei form di Symfony, cosa che avrebbe fatto sicuramente saltare di gioia Andrea!
Dopodiché abbiamo ritrovato Samuel Roze che ci ha raccontato la sua personale esperienza con i Design Pattern. Un ottimo esempio di come in pochi anni, sia riuscito a padroneggiare prima un linguaggio e poi un framework con il solo studio dei design pattern (e di come abbia sfruttato ciò che ha imparato per realizzare la Platform API 2.0)
Jules Pietri (github) invece avrebbe fatto disperare Andrea, perché al contrario di Beau ha messo il focus del suo intervento sui form, ma soprattutto ne ha esaltato la loro versatilità se usati come servizi di Symfony. È stato sorprendente: non conoscevamo ancora questa possibilità, e così appena rientrati abbiamo iniziato a creare i primi form gestiti da servizi, e c’è da dire che, anche se non è immediato da capire, alla fine il codice da gestire è molto più semplice.
Prima della pausa, ci sono stati un paio di speed talk da 5 minuti, dove abbiamo iniziato a sentire parlare di Docker, e la cosa mi stuzzica.
Dopo pranzo sono continuati gli interventi, e abbiamo scelto di seguire quello di Jakub Zalas (github) sul microkernel di Symfony. Eravamo incuriositi da lui perché il giorno prima durante una pausa l’abbiamo incrociato al buffet, e sentivo che sparava a zero sulle criticità del PHP e su come non siano mai state affrontate seriamente dagli sviluppatori del linguaggio. Ci è bastato per rendercelo subito simpatico, ma purtroppo l’argomento del suo talk non mi ha preso tanto. È stato forse troppo astratto rispetto a quello che mi aspettavo, ad ogni modo abbiamo scoperto che dalla versione 2.8 è stato introdotta la possibilità di usare un kernel ridotto che a discapito di un minor numero di funzionalità possibili, maggior verbosità del codice, migliora le prestazioni e diminuisce l’uso di memoria.
E ora era l’ora di Docker presentato da Andre Rømcke (github) della ezSystem (uno degli sponsor dell’evento). Sinceramente era il talk che aspettavamo maggiormente, ma anche quello che ci ha deluso maggiormente! Conoscevo già Docker, ce lo aveva presentato il nostro amico Arialdo (github), ce l’aveva suggerito per l’installazione dei software su un server, ci eravao già documentati un po’, ma alla fine non abbiamo voluto rischiare di stoppare uno dei nostri server per passare tutto su Docker. Così, quando abbiamo sentito ripetere cose che già sapevamo, è stato deludente. Quando poi nelle slide ha fatto vedere i file di configurazione per usare Docker per far girare un’istanza di Symfony, è stato talmente veloce che non c’è stato nemmeno il tempo di fare una foto per provare a replicare quella configurazione.
Dopo l’ultimo break abbiamo seguito il talk di Nicolas Grekas (github) su come Symfony stia seguendo a pieno le linee guida del PSR-6 per la gestione della cache. Per chi non lo sapesse il PSR sono degli standard raccomandati per PHP (PHP Standards Recommendations) ancora in via di stesura, e che ha come obiettivo la standardizzazione dei concetti di programmazione in PHP ispirandosi all’ormai consolidato JSR (Java Specification Request).
E infine… gran finale con domande a ruota libera al Team di sviluppo del core di Symfony, e fra i 4 sviluppatori abbiamo ritrovato Kévin e Jakub. L’imbarazzo iniziale era palpabile, ma dopo che Samuel Roze ha rotto il ghiaccio chiedendo quando Symfony abbandonerà PHP 5 per passare a PHP 7 le domande hanno iniziato a venire. Così hanno parlato di Roadmap, di come decidono il contenuto di una nuova release, della prima LTS di Symfony 3 e molto altro.
Insomma sono stati due giorni veramente intensi e che hanno permesso di accrescere le conoscenze di questo framework sicuramente ostico, ma decisamente potente!