Al di là delle polemiche che Lerdorf non sembrerebbe aver mai timore di suscitare, egli avrebbe successivamente argomentato la sua affermazione sulla base di quattro punti richiamati più o meno direttamente:

  1. i framework sarebbero nella maggior parte dei casi general purpose e non ottimizzati per eseguire compiti specifici, ciò porterebbe all'esecuzione continua del medesimo codice anche senza che ve ne sia la necessità; tale aspetto sarebbe particolarmente evidente nel caso di accesso alle informazioni contenute nei database o alle direttive previste in un file di configurazione, operazioni inutilmente ripetitive per numerose tipologie di applicazioni;
  2. in molti casi lo sviluppatore necessita soltanto di una parte specifica di un framework, ma le classi previste da questi ultimi presenterebbero troppe dipendenze, ciò determinerebbe il caricamento di un numero eccessivo di classi anche per l'accesso ad una singola funzionalità; l'ideale, almeno in fase di deployment, sarebbe invece poter caricare soltanto un subset di features che soddisfino le esigenze del progetto corrente;
  3. in alcuni casi i framework porrebbero problemi di difficile soluzione anche per operazioni che dovrebbero rivelarsi semplici, in questo caso si potrebbe fare l'esempio delle migrazioni tra versioni diverse di una stessa applicazione che risulterebbero spesso complesse e comporterebbero la riscrittura degli schemi dei database;
  4. in certi casi i framework porterebbero il codice PHP a rieseguire operazioni che i Web server hanno già effettuato; ciò apparirebbe particolarmente evidente nei processi di routing per l'assegnazione di controller finalizzati alla gestione delle richieste, nel caso specifico dei pattern front controller, che centralizzano le richieste, la loro funzione duplicherebbe quella dei server engine tramite moduli come per esempio quello per la riscrittura.

Limitandosi a commentare la dura e per molti versi opinabile affermazione di Lerdorf, potrebbe risultare fin troppo semplice dare vita ad una polemica infruttuosa sull'utilità o meno dei framework, del resto il fatto che si tratti del creatore di PHP non significa necessariamente che la sua sia la voce più autorevole a riguardo; analizzando invece le motivazioni che argomentano tale presa di posizione si potrebbe dare vita ad una discussione costruttiva sulle opportunità per il loro miglioramento.

Via PhpClasses

14 CommentiDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

Da bravo programmatore C++ sono d'accordo con Lerdorf sull'efficienza dell'approccio ibrido... d'altro canto utilizzo diversi framework PHP (Laravel, Zend Framework, Symfony, etc), diversi CMS (Drupal, Joomla, Wordpress, etc) e, in passato, ho anche sviluppato un piccolo framework PHP. Dalla mia esperienza posso dire di essere d'accordo sulla pensantezza di alcuni framework/CMS, che non è però l'unico metro di valutazione da un prodotto software. Da bravo programmatore C++ sono d'accordo con Lerdorf sull'efficienza dell'approccio ibrido... d'altro canto utilizzo diversi framework PHP (Laravel, Zend Framework, Symfony, etc), diversi CMS (Drupal, Joomla, Wordpress, etc) e, in passato, ho anche sviluppato un piccolo framework PHP. Dalla mia esperienza posso dire di essere d'accordo sulla pensantezza di alcuni framework/CMS, che non è però l'unico metro di valutazione da un prodotto software. Sul web, si sà, non va trascurato nulla... e penso sia preferibile un cuscino sul quale poggiarsi nello sviluppo, che consenta di eliminare quasi totalmente il rischio di intrudurre errori banali in grado di favorire SQL Injection, XSS, CSRF, etc o che metta a disposizione un pool di strumenti scritti a più mani e testati come una bella ACL, piuttosto che avere una ferrari senza freni.

Paolo R.
Paolo R.

Considerando il mercato dei nostri tempi, a meno tu non sia uno sviluppatore che fa solo un certo tipo di prodotto (ancora non è ho mai conosciuto uno), secondo me è essenziale l'utilizzo di un framework per garantire una certa qualità del prodotto in tempi brevi, la vera sfida sta nel trovare il giusto strumento per il prodotto che vogliamo realizzare, perchè ogni framework ha delle peculiarità che lo rendono più adatto nello sviluppare certi tipi di applicazioni (restful, backend per app, siti, ecommerce, gestionali...) e neanche Chuck Norris riuscirebbe a creare prodotti da zero raggiungendo la qualità e la completezza dei framework più blasonati (testing, tuning, configurazione, disponibilità di moduli, template e soprattutto di supporto della community o a pagamento). Detto questo ora che mi appresto a creare una mia società sto anche pensando di utilizzare 2/3 cms/framework per coprire almeno il 90% delle richieste dei clienti, perchè cmq una "catena" di produzione e distribuzione di software la puoi mettere in piedi solo se approfondisci e consolidi le conoscenze dello strumento in modo serio, e questo puoi farlo solo con il tempo.

markux
markux

Emiliano, per correttezza, Joomla non è un framework... ;) Personalmente credo che, per applicazioni web di un certo livello, un framework sia indispensabile. Non riesco ad immaginare come sarebbe stato lo sviluppo delle applicazioni che ho creato fino ad oggi senza l'utilizzo di un framework (nel mio caso Codeigniter ed ultimamente Laravel). Poi oh, il mondo è bello perchè è vario e credo che ognuno debba poter scegliere a seconda delle proprie esigenze e del prodotto da sviluppare. E comunque, Lerdorf può chiacchierare (o secondo me vaneggiare, in questo caso) quanto vuole, non è mica obbligatorio seguire i suoi discorsi... non tutti almeno :)

Diego
Diego

Framework? Parlerò di joomla che ho utilizzato, sicuramente se il sito deve essere continuamente aggiornato (anche non da sviluppatori) e devono essere inseriti nuovi contenuti può venire comodo....in fase di sviluppo per fare lo stesso sito senza joomla ci vorrebbe 1/3 in meno...(tutti i settaggi e la cancellasione della cache fanno perdere tanto tempo)

Emiliano
Emiliano

Dice il saggio: non e' il mezzo che fa la differenza ma chi lo usa! Per dire che Cracco farebbe bene, non ho detto meglio perche' non volgio entrare nel soggettivismo, si badi bene, uno dei suoi piatti sia in una superpentola in pregiatissino rame che in una pentolaccia in alluminio da quattro soldi ... per dire che non e' il framework che fa la differenza ma chi lo usa, e cosi' anche per PHP, se non lo sai usare puoi avere tutti i framework che vuoi non solo a livello enterprise ma anche a livello romulano ... mi sia consentita la battuta :-),

sLa
sLa

Per siti relativamente semplici e web app monoprogrammatore, un framework forse non serve. Sistemi enterprise sviluppati in team, assolutamente si

Davide
Davide

Se on fosse per quei quattro CMS e quei due forum che lo usano PHP sarebbe morto da anni: pare che anche FacciaLibro ...

sLa
sLa

Io penso che ogni strumento ha il suo ambito di utilizzo. Portare php a scimmiottare linguaggi differenti è una forzatura, farne sistema è un crimine. Php è, fondamentalmente, un linguaggio di templating - potentissimo - che però viene usato come core framework.

balanza
balanza

Condivido quanto scritto da Luca; non solo, estenderei la considerazione a riguardo di tutti i framework prodotti per le varie piattaforme e linguaggi. Il miglior framework é, per un progetto, l'infrastruttura che analisti e programmatori devono relaizzare come "fondamenta" sulle quali implementare le funzionalità dell'applicazione da realizzare.

Lorenzo
Lorenzo

Grande Rasmus Lerdorf, i framework i programmatori se li costruiscono da se. E' impossibile trovare soluzioni che vadano bene per tutto. Cari colleghi, rimboccarsi le maniche e scrivere del buon codice invece di ricorrere a software di terze parti, questa è la soluzione se sappiamo fare il nostro mestiere.

Emanuele
Emanuele