Symfony2, Yii

Questo non vuol essere un post in cui vorrò sapere chi è il migliore.

Conosco un pò Yii per averci sviluppato qualcosa, ora sto studiando Symfony2. Ho potuto notare che Symfony2 ha una learning curve alta, è vero ho scritto poco codice grazie a Twig e alla shell, ma mi manca un pò gii (o zii) e ci sono molte configurazioni.

Ho potuto notare che con Doctrine 2 è più immediato gestire il database, esiste un’estensione completa per Yii?

Un’altra cosa che mi manca è sicuramente la comunità italiana di Yii. Esiste una community italiana per Symfony2? Mi mancano anche le estensioni con gli esempi e gli screenshot. Non esiste un repository ufficiale oltre a knp?

Faccio queste domande qui perchè ho visto che alcuni di voi sviluppano pure con Sf2 e volevo sapere le vostre impressioni, i vantaggi e gli svantaggi tra l’uno e l’altro.

Grazie.

La community italiana di symfony è ENORME, molto ma molto più grande di quella di yii!!! Pensa che sono stato al SymfonyDay italiano a Torino poche settimane fa ed eravamo un centinaio (altrettanti non sono potuti venire a causa del numero chiuso). Ma potrei anche parlare del PhpDay in cui eravamo forse quattro volte tanto. In pratica lo uso solo io nel GrUSP =). Il GrUSP è una associazione nazionale (Gruppo Utenti Sviluppatori Php) che per esempio ha appena pubblicato un libro sulle best practice dello sviluppo. http://www.phpbestpractices.it/ Esiste un gruppo di google del GrUSP ed Esiste un gruppo di google su Symfony. In effetti ho creato un gruppo di google anche per yii, vuoi farne parte? Mandarsi delle email è più semplice che scrivere in un forum.

Ho lavorato con entrambi e non esiste il concetto di "migliore". Ciascuno va utilizzato nel contesto giusto. Tieni anche presente che il manuale di Symfony2 è scritto in inglese e tradotto anche in italiano. Per capirci, non ci sono altre lingue =). Knp è il repository ufficiale.

Vantaggi e svantaggi? Il vantaggio di Symfony è che praticamente tutti i bundle sono su github. Significa che se hai un problema con un bundle puoi andare su github, aprire una issue, e se sei fortunato in 2/3 ore risolvono il bug e tu puoi aggiornare alla versione nuova. Non devi “scaricare” nulla. Nel mondo di symfony2 si usa git. Poi c’è il composer. In verità c’è un abisso tecnologico tra Symfony2 e Yii1.1. Ma non sempre serve. Bisogna essere pragmatici. Tecnologicamente Symfony2 è un gioiello ma continuo a preferire Yii molte volte rispetto Symfony2. Perchè? Perchè faccio lavori più adatti ad Yii.

In verità sarebbe da parlare per ore di entrambi ed ancora non si avrebbe nessun motivo per preferire l’uno all’altro. Non userei mai, MAI, Yii per sviluppare in un team distribuito. Testare codice è più complicato. Mi sembra tutto un workaround. La versione di php è vecchia. Il codice è caotico per me. Ma molto veloce. Ed in molti caso per me è più importante la velocità. I componenti sono da riscrivere se non esistono, ma la community di Yii è ancora poco avvezza all’uso di git o github. Spero che le cose cambino. Non c’è un controllo delle dipendenze. Non puoi creare due estensioni con lo stesso nome. In Symfony2 c’è moltissima innovazione. Php 5.3 o 5.4. Trovi quasi sempre un bundle che fa al caso tuo (sono circa 1700), c’è molta attenzione alla qualità del codice (quasi sempre testato). In Yii che fai se hai problemi con una estensione? A chi fai riferimento? Io in molti casi non lo so. Su Symfony2 posso contare sulla community e su github.

Bene, ho richiesto di essere ammesso al gruppo symfony-it se era il gruppo che intendevi.

Come specificato inizialmente non c’è un migliore, ma il più adatto alle proprie esigenze o progetti.

Ho visto ad es. che c’è una più semplice gestione delle migration. Io per l’installazione ho utilizzato composer, ma ancora devo provarlo l’installazione di bundle. Comunque Yii rimane più immediato.