06 agosto 2010

cakePHP: un framework che è più un RPG

Buona sera (o meglio buona notte) a tutti voi, carissimi che non avete niente altro da fare se non leggere le vaccate che la Compiuta Donzella del 2000 (che poi sarei io) scrive su queste pagine virtuali!

Ok, è passata la mezzanotte, ma, a differenza della mitica canzone di Modugno (sta a voi scoprirla, anche se è facilissima), i lampioni sono ancora accesi ed le insegne non si spegneranno se non alle prime luci dell'alba. Cribbio, come sono cambiati i tempi!

A parte questi deliri notturni, tale post è dedicato all'RPG al quale mi sto dedicando in questi giorni, intitolato "La Compiuta Donzella del 2000 (che poi sarei io) contro il diabolico cakePHP".

Rapida introduzione semi-seria su cosa è cakePHP e perché mi sono imbattuta in questo mostro!
Come potete ben immaginare dal nome, cakePHP è un framework php opensource basato sul pattern MVC (Model View Controller): in parole povere, per programmare efficacemente con questo strumento dovrete astrarvi dalla logica di programmazione classica, sia funzionale che ad oggetti, e abbracciare una filosofia che distingue il modello (ovvero i dati) dalle azioni che si possono fare su di esso (il controller) e dal modo in cui viene proposto all'utente (forse forse la view?). Grazie alla quasi infinita moltitudine di librerie che lo compongono, dovrebbe alla fine consentirvi di sviluppare le vostre applicazioni web in modo semanticamente migliore e ad una velocità notevole.
Ovvero alla fine del gioco entrerete in possesso del Libro degli Incantesimi di cakePHP e di una pozione SPD +1000.

Ma mica è tutto oro quello che luccica! (soprattutto a questa ora!)
Come nei migliori RPG vecchio stampo, il nostro eroe (ovvero lo sviluppatore che si accosta a cakePHP) dovrà affrontare innumerevoli peripezie, trabocchetti tremendi ed infine i diabolici demoni di fine livello. Tutto ciò sarà possibile unicamente expando come dei disperati: si parte come al solito dalle gelatine schifose (piccoli script usati anche nei tutorial) fino ad arrivare ad orde di mostri fetenti (script più complessi che richiedono ore ed ore di capate al muro). I demoni più inguardabili sono l'Auth, l'Acl, il Paginator, il DebugKit e le Shell con i loro famigli Task (solo per citarne alcuni, sia ben chiaro).
Ovviamente il manuale del gioco è abominevole, spesso inesatto e utile come un bicchier d'acqua in un incendio: sì, un po' di fiamme le spegne, ma col cavolo che ti salva la vita!
Ma la soddisfazione quando si passa di livello...non ha prezzo! Per tutto il resto c'è lo stipendio il 27 di ogni mese!

Ebbene sì, la vostra Compiuta Donzella del 2000 (che poi sarei io) non è pervasa da spirito masochistico (anche se le prove sembrerebbero avvalorare questa ipotesi) ma si è gettata a capofitto in questo impietoso RPG perché è quello di moda nel nuovo posto di lavoro. Al momento l'atteggiamento è quello di un'addestratrice di cavalli che guarda il poderoso mustang e cerca il modo di domarlo giorno per giorno, riuscendo a capire poco alla volta il carattere del quadrupede ed i modi in cui trattarlo.

Per il momento vi lascio con questo assaggio delle mie imprese titaniche: in questa fredda notte di agosto vi dovrà bastare ed avanzare l'annusare l'odore di zolfo dei demoni che vi ho solo citato. Magari in futuro, vi mostrerò anche gli item che codesti fetenti droppano ad ogni loro sconfitta!

2 commenti :

Marco ha detto...

Ciao, sono un sedicente informatico, e mi guadagno qualche piccolo soldino facendo siti. Questo comunque è un argomento che mi piace molto.
Ho trovato il tuo blog stamattina grazie alla tua guida per sistemare i driver nVidia sui Vaio (tra parentesi, ora che c'è la 10.10 che si fa??)
Ok, fine dei convenevoli: mi chiedevo quanto ti fossi addentrata in cakePhp in questi mesi, se sia stata una scelta deliberatamente intrapresa, se tu abbia valutato alternative, ed in caso positivo, perché hai optato per cakePhp invece che per Symfony.

PS: ho aggiunto il tuo blog ai miei preferiti, perché mi ci riconosco un po' (bello il post su Atlantide), perché hai proprietà di linguaggio e perché sei piacevole da leggere.

Compiuta Donzella del 2000 ha detto...

Ciao,

innanzitutto grazie per il tuo commento e per gli apprezzamenti sui miei post!

Ho iniziato la mia quest con cakePHP nell'agosto scorso, contestualmente al mio cambio di lavoro, ed è stata una scelta quasi obbligata.
Ho dato un rapido sguardo a Symfony qualche anno fa, ma probabilmente non era ancora abbastanza maturo.
Attualmente quindi non posso fare un confronto tra i due framework.
Posso dirti però che ho potuto analizzare quasi tutti gli aspetti di cake, anche per quanto riguarda lo sviluppo di helper, component, behavior, shell e plugin.
E' un ottimo framework, facile da assimilare, ma forse con poca documentazione.
Merita sicuramente un'occhiata un po' più approfondita!

P.S. per quanto riguarda la 10.10, sto per fare un post al riguardo! XD