itaeng

[Recensione] CakePHP 1.3 Application Development Cookbook

Una doverosa premessa

Fin da quando sono entrato nel colorato e caramelloso mondo multiforme dell'informatica ho sempre prediletto blog e siti tematici; ho un brutto rapporto con manuali, libri e quant'altro riguardante la programmazione: ne ho acquistati alcuni insieme a riviste o per conto mio, ma immancabilmente la loro fine è quella di essere riposti in uno scaffale il giorno stesso o di restare sul tavolo in attesa di decidere cosa farne.

Qualche tempo fa sono stato contattato per recensire "CakePHP 1.3 Application Development Cookbook", di Mariano Iglesias. Conosco di fama Mariano Iglesias perchè diverse volte, cercando informazioni su come-fare-cosa su CakePHP mi sono imbattuto in alcuni suoi contributi, così, vista la mia stima nei suoi confronti, pur senza averci mai avuto a che fare direttamente, mi sono incuriosito e ho deciso di provare a farne una recensione.

Il libro

Il libro, che mi è arrivato in formato elettronico, è sostanzialmente un incrocio fra un manuale "pratico" ed un libro di ricette. Cookbook è un nome perfettamente azzeccato, e come tale è consigliabile leggerlo: se per esempio avessi bisogno di sapere cosa sono e come funzionano i Test, argomento su cui ho sempre avuto molte lacune e su cui non sono mai riuscito a trovare qualcosa di realmente utile a riguardo, mi basterebbe aprire il libro su quel capitolo per scoprire cosa sono, come funzionano e trovare degli esempi pratici su come usarli. Esempi che non sono mai banali (non è un libro per principianti: è infatti indicato per utenti medio-avanzati, categoria nella quale spero di potermi inserire).

Ogni capitolo si suddivide in un'introduzione, che spiega genericamente l'argomento trattato, e la parte tecnica, suddivisa a sua volta in almeno 3 sottocapitoli: getting ready (preparazione dell'ambiente di lavoro), how to do it (il codice vero e proprio, spesso con immagini e screenshot per rendere graficamente più chiaro il tutto) e how it works (che spiega ciò che succede nelle due parti precedenti). In alcuni capitoli è presente anche un there's more, che contiene curiosità o altre funzioni o funzionalità correlate.

Gli argomenti trattati

Il libro è composto da 11 capitoli per altrettanti argomenti in ambiti piuttosto vari e diversi fra loro; ecco di cosa tratta (cliccando sul link potete vedere come vengono sviscerati i singoli argomenti):

Preface
Chapter 1: Authentication
Chapter 2: Model Bindings
Chapter 3: Pushing the Search
Chapter 4: Validation and Behaviors
Chapter 5: Datasources
Chapter 6: Routing Magic
Chapter 7: Creating and Consuming Web Services
Chapter 8: Working with Shells
Chapter 9: Internationalizing Applications
Chapter 10: Testing
Chapter 11: Utility Classes and Tools
Index

Non male eh?

Personalmente ho trovato incredibilmente interessanti e utili i capitoli su "model bindings", "validazione" e "testing", che poi erano anche i punti su cui avevo più confusione in testa, ma anche il resto è ben scritto e molto chiaro. Mariano ha avuto l'ottima intuizione di scrivere un libro che richiede una discreta esperienza su CakePHP per essere letto e compreso a fondo, raggiungendo il suo scopo in modo chiaro e diretto.

Il verdetto finale

Sarebbe fuorviante dare un voto univoco al libro, in quanto può essere molto utile per chi ha una buona infarinatura generale su CakePHP e vuole migliorarsi, mentre per chi sta iniziando sarebbe probabilmente un libro troppo difficile da comprendere.

Mi piace moltissimo la struttura a "ricettario", mentre ho apprezzato meno la formattazione del codice. D'altra parte un libro non è un monitor, per cui un bellissimo pezzo di codice, che sul computer sarebbe perfettamente leggibile, su carta ha dei ritorni a capo che ne rendono difficoltosa la lettura. Avrei apprezzato anche se gli esempi di codice avessero avuto un po' di colore; il fatto che sia scritto tutto in nero non aiuta molto il "colpo d'occhio". Non so se sia tecnicamente fattibile, ma mi sarebbe piaciuto davvero moltissimo se insieme al libro ci fosse stato un insieme di file con i vari snippet di codice in formato testuale, da aprire con il proprio editor preferito...

Detto questo, rimane un libro perfettamente godibile pur con queste piccole pecche, che immagino siano un limite del formato stesso con cui viene fornito, cartaceo o ebook.

Dimenticavo... il libro è totalmente in inglese! Un inglese perfettamente chiaro e leggibile; non credo che possa creare problemi particolari a qualcuno, visto che nell'informatica l'inglese è un po' ovunque, ma è bene saperlo per evitare sorprese smiley.