Symfony live 2012 – giorno 2

Il secondo giorno inizia con un talk in track unica di David Zuelke. Purtroppo si tratta ancora di Designing HTTP interfaces and RESTful web services. Il titolo vi dice qualcosa? Se avete partecipato almeno a una conferenza su PHP nell’ultimo lustro, c’è una buona probabilità che l’abbiate già visto.
Purtroppo la presenza di tre track, invece delle due di ieri, ci consentirà una copertura inferiore dell’evento.


Il talk in francese di William Durand su Propel2 ha evidenziato lo stato attuale di questo ORM, che sta cercando di recuperare la strada perduta rispetto a Doctrine. La buona notizia è che Propel2 sarà un refactoring della versione 1.6, quindi con le stesse funzionalità. Rispetto alla vecchia versione, ci sono numerosi miglioramenti: supporto solo da PHP 5.3.3, coding standard rivisto, aderenza a PSR-0 (Propel2 è nel FIG), componenti di Symfony2 al posto di phing (ma non solo), adapter per poter non usare PDO, supporto ai traits su 5.4.


Gli onnipresenti Stof e Lukas hanno tenuto un talk sui bundle. Dopo una breve introduzione su cosa sono i bundle e su dove sia possibile trovarli (ovviamente su knpbundles!), hanno mostrato una carrellata di best practice per crearne di nuovi: struttura delle cartelle, licenza (meglio MIT), configurazione del DIC, uso di composer, scrittura di test, interazione con travis, ovverride di controllori, gestione di bugfix e di pull request su github. Infine, hanno mostrato alcuni dei bundle più famosi e più usati (molti dei quali scritti da loro stessi), come fosuser, fosrest, stofdoctrineextension, knpmenu, liipimagine, eccetera.


Larry Garfield ha tenuto un talk sulla situazione di Drupal e sull’integrazione prevista in Drupal 8 di diversi componenti di Symfony. Ha riconosciuto e messo in evidenza i limiti di questo popolare CMS, dovuti secondo lui soprattutto al fatto che è un progetto partito oltre un decennio fa. Ha poi esposto tutti i miglioramenti in vista per Drupal, sia relativamente a come saranno integrati i componenti, sia alle pratiche di svilippo e di gestione del progetto.


Purtroppo ho dovuto saltare uno slot, per presentare un lighting talk nell’unconference.
In chiusura, David Buchmann, già speaker al phpDay, ha parlato di Symfony2 e agile. Dopo una non breve introduzione all’agile, ha evidenziato come Symfony si adatti bene a chi voglia seguire le pratiche agili: modularità, separazione (grazie al DIC), testabilità, possibilità di sviluppare codice che sia a sua volta modulare (per esempio usando i controllori come servizi). A seguire, diversi consigli su come scrivere i test e quali bundle possono aiutare (per esempio JMSCommandBundle e LiipFunctionalTestBundle). Non poteva mancare l’invio all’utilizzo di travis.


Per completezza, nei track non coperti qui si è parlato di: Service Container, ORM e prestazioni, PHPCR, Redis, Behat, Solr, CMF, un case study su Overblog, sysadmin skills, PostgreSQL, websockets.
Purtroppo è mancato un intervento conclusivo: dopo le ultime sessioni, ci sono stati dei lighting talk in track principale, poco convincenti, anche se a dire il vero sono andato via prima che finissero.

In conclusione: un evento sicuramente migliorato rispetto allo scorso anno (due difetti evidenti, cibo e connessione, sono stati risolti una volta per tutte), ma che non dà ancora l’impressione di essere ai livelli di due anni fa. Speriamo nel 2013.

Symfony live 2012 – giorno 1

Una piccola rappresentanza della comunità italiana è presente anche quest’anno a Parigi, per la conferenza di riferimento su Symfony.
Il keynote di apertura è stato tenuto, ça va sans dire, da Fabien Potencier in persona. L’argomento è stato proprio la comunità, la community di Symfony, che secondo l’autore originario del nostro framework preferito è alla base del suo stesso successo. Ci sono stati, come prevedibile, diversi ringraziamenti ai membri di spicco e ai contributos principali. Si è parlato molto di SensioConnect, dentro cui viene introdotta, proprio oggi, una importante novità: la possibilità di certificarsi, con un esame che è stato annunciato come “non facile”. L’intervento di Fabien si è concluso con un commovente finale, un “I love you all ♥!”


Dopo il keynote, avremmo voluto seguire una sessione sulla sicuezza, ma purtroppo è stata scambiata con una sullo sviluppo del sito mobile della BBC. In sintesi, le parole chiavi di questo talk sono state: mobile first, velocità, back to basics, responsive. Purtroppo il talk non era proprio attinente a Symfony, anzi il relatore ha ammesso a un certo punto di usare Zend Framework 🙁


A seguire, un talk molto tecnico di Johannes Schmitt, l’autore del bundle sulla sicurezza della Standard Edition. A dispetto del titolo (Security in real life), l’inizio è molto didascalico, con un elenco molto lungo di classi e con spiegazioni sul funzionamento del componente Security di Symfony. Più avanti, l’autore ha mostrato in effetti diversi casi d’uso relativi alla sicurezza, mostrando anche molti esempi di codice. Personalmente, avrei preferito qualcosa di più astratto e relativo alla sicurezza a più alto livello, piuttosto che una spiegazione che alla fine si potrebbe anche trovare nella documentazione.


Dopo un’abbondante pausa pranzo, la conferenza è ricominciata con un case study sulla conversione di wetter.com, un grosso sito tedesco di previsioni del tempo, a Symfony2.
In conclusione, i due speaker erano molto contenti di come il framework li abbia supportati nel costruire e personalizzare un sito ad alto traffico, soprattutto grazie a Varnish, twig e assetic.


Si prosegue con un argomento di cui si parla molto ultimamente: mongoDB, con un talk tenuto direttamente da uno dei membri di 10gen. La maggior parte del talk è stata molto tecnica, con argomenti avanzati (quasi a livello sistemistico), quindi sicuramente più adatta a chi conosce già bene lo strumento (purtroppo io non sono tra questi). Sfortunatamente, nonostante una delle slide iniziali facesse pensare diversamente, la parte di integrazione con PHP (Doctrine ODM) è stata alquanto ridotta, giusto un accenno.


L’ultimo talk serio della giornata è tenuto nuovamente da Schmitt e riguarda twig.js, una libreria che consente di scrivere template javascript con la stessa sintassi di Twig. Come Twig, tale libreria è estensibile, essendo possibile scriverne estensioni che intervengono al momento della compilazione oppure a runtime.


Per la cronaca, le sessioni a cui non abbiamo assistito, nell’altra track, parlavano di: full stack framework, configurazione di bundle, composer, Silex, componenti.
La serata si è conclusa con un gioco a quiz, su cui sorvoliamo.
A domani!

(stay tuned, il post sarà aggiornato….)