Skip to content

Di cosa si tratta?

Symfony è uno dei progetti PHP di maggior successo. Si tratta sia di un robusto framework full-stack sia di un popolare insieme di componenti riutilizzabili.

Dal rilascio di Symfony 2.0, avvenuto nel 2011, il progetto ha ora raggiunto la maturità. La sensazione è che tutto ciò che è stato fatto negli ultimi anni si combini bene. Nuovi componenti di basso livello, integrazioni di alto livello con altri software, strumenti che aiutano gli sviluppatori a migliorare la propria produttività. L'esperienza dello sviluppatore è notevolmente migliorata senza sacrificare la flessibilità. Non è mai stato così divertente usare Symfony per un progetto.

Per chi non conosce Symfony, questo libro mostra la potenza del framework e come questo possa migliorare la tua produttività sviluppando un'applicazione passo dopo passo.

Chi è già sviluppatore Symfony dovrebbe riscoprirlo. Il framework si è notevolmente evoluto negli ultimi anni e l'esperienza dello sviluppatore è migliorata in maniera significativa. La sensazione è che molti sviluppatori Symfony siano ancorati alle vecchie abitudini e che abbiano difficoltà ad abbracciare i nuovi modi di sviluppare applicazioni con Symfony. Alcune delle loro ragioni sono comprensibili: il ritmo con cui questo settore si evolve è sbalorditivo, e quando si lavora a tempo pieno su un progetto, gli sviluppatori non hanno il tempo di seguire tutto ciò che accade nella comunità. Io per primo devo ammettere di non riuscire a seguire tutto ciò che succede.

E non si tratta solo di nuovi modi di fare le cose. Si tratta anche di nuovi componenti: Client HTTP, Mailer, Workflow, Messenger. Cambiando le carte in tavola, si dovrebbe anche cambiare il proprio approccio a Symfony.

Persino io sento il bisogno di un nuovo libro, visto che il web si è evoluto molto. È il momento di discutere di argomenti come API, SPA, containerizzazione, continuous deployment, e molto altro.

Il tempo è prezioso. Non aspettatevi lunghi paragrafi, né lunghe spiegazioni sui concetti fondamentali. Il libro parla di più del viaggio. Da dove cominciare. Quale codice scrivere. Quando. Come. Cercheremo di generare un certo interesse su argomenti importanti e lasciare al lettore la decisione su eventuali approfondimenti.

Lo scopo non è quello di replicare la documentazione esistente: la sua qualità è già eccellente. Faremo spesso dei richiami alla documentazione nella sezione "Andare oltre" alla fine di ogni capitolo. Questo libro va visto come un insieme di riferimenti ad altre risorse.

Il libro descrive la creazione di un'applicazione da zero, ma non svilupperemo tutto per renderla pronta per la produzione. Il risultato non sarà perfetto: prenderemo alcune scorciatoie, ignoreremo la gestione di qualche caso limite, non scriveremo tutti i test, e non rispetteremo sempre le best practice. Ma toccheremo quasi ogni aspetto di un progetto moderno che usa Symfony.

Quando ho iniziato a lavorare su questo libro, la prima cosa che ho fatto è stata scrivere il codice per l'applicazione finale. Il risultato e la velocità nell'aggiunta di funzionalità, con pochissimo sforzo, sono stati impressionanti. Questo grazie alla documentazione e al fatto che Symfony sa come evitare di intralciarci. Sono sicuro che Symfony possa essere ancora migliorato in molti modi (ho già preso nota di alcuni possibili miglioramenti), ma l'esperienza dello sviluppatore è molto migliorata rispetto a qualche anno fa. Voglio che il mondo lo sappia.

Il libro è diviso in passi. Ogni passo è suddiviso in passi più piccoli, che dovrebbero essere di rapida lettura. Cosa molto importante, si dovrebbe scrivere codice durante la lettura del libro. Scrivere il codice, testarlo, farne il deploy, modificarlo.

Infine, non bisogna esitare a chiedere aiuto in caso di difficoltà. Ci si può imbattere in un caso limite, o in un errore di battitura difficile da scovare e correggere. C'è una splendida comunità su Slack e su Github, è bello farne parte per ricevere aiuto o dare una mano.

Tutti pronti a scrivere del codice? Buon divertimento!

This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.
TOC
    Version