PHP: framework o standalone?
Giovedì 24 Settembre 2009 - 08:30
di Riccardo Degni

Qui su Edit e sui blog di tutto il mondo si parla sempre tanto di framework e librerie Javascript che ogni giorno introducono novità e producono plug-In a non finire.
Ma se è vero che i framework Javascript hanno raggiunto un successo enorme anche nel nostro paese, è possibile affermare la stessa cosa anche riguardo alla parte server-side, più precisamente a PHP?
Mi spiego: PHP è il linguaggio di scripting server-side più utilizzato al mondo (e follemente amato dal sottoscritto), ma non tutti gli sviluppatori utilizzano un apposito framework per realizzare le proprie applicazioni.
Di framework PHP famosi ne esitono parecchi, tra cui CakePHP, Zend Framework, Symfony e CodeIgniter. La mia domanda, rivolta a tutti gli sviluppatori PHP è dunque la seguente: utilizzate comunemente un framework PHP per realizzare i vostri compiti server-side o preferite la soluzione standalone, personalizzata per ogni esigenza?
Quali vantaggi originali (oltre a quelli ovvi) trovate nell’utilizzare un framework, e quali nelle soluzioni standalone?
Categoria: PHP e Open Source | Permalink
Commenti
1
Un framework interno per il PHP, jquery per javascript.
2
Come freelance non uso framework, ma una specie di CMS creato da me. Invece per quanto riguarda JavaScript utilizzo MooTools.
Anche al lavoro abbiamo creato un CMS e non usiamo framework e, per quanto riguarda JavaScript, utilizziamo MooTools.
3
Uso cakePHP da un paio d’anni abbinato a jQuery e di tornare alle applicazioni standalone non ne voglio nemmeno sapere…
Il maggior vantaggio è sicuramente l’MVC che comporta una pulizzia del codice non indifferente, oltre che un’alta manutenzionabilità.# - postato da dalpo - 24 Settembre 2009 - 09:17
4
A lavoro usiamo una specie di CMS creato apposta, ma spero di passare a qualche framework più standardizzato (symfony?) nel giro di poco tempo. I framework creati appositamente secondo me sono un errore, in quanto difficilmente arriveranno alla qualità e stabilità di framework utilizzati e controllati da centiania di utenti, senza contare i costi di mantenimento…
# - postato da lloyd27 - 24 Settembre 2009 - 09:24
5
Da quando sviluppo con CakePhp mi chiedo come si possa fare a meno di un framework, il tempo risparmiato è spesso superiore al 30% e la qualità del prodotto finale spesso ne guadagna.
Credo che un team di persone dovrebbe obbligatoriamente usare un framework per condividere una base comune e creare progetti web modificabile semplicemente da tutti i membri.
6
Penso che una risposta assoluta non possa darsi, per nessuno. Ci sono tanti fattori che possono condizionare la scelta di un framework (e di quale poi) o di una soluzione stand-alone.
Però non voglio anticipare nulla perchè è un argomento che tratterò a SMAU quest anno.
Chi fosse interessato è il benvenuto. :)Ciao
Diego# - postato da Diego La Monica - 24 Settembre 2009 - 10:12
7
quoto luglio7 per quanto riguarda la differenza tra un framework fatto in casa (spesso investendo diversi mesi di lavoro per trovarsi con un prodotto magari buono ma privo di documentazione e che non verrà praticamente mai aggiornato) e un framework comunitario (testato da molti, documentato, noto anche ad eventuali nuovi collaboratori)
# - postato da Christian - 24 Settembre 2009 - 10:24
8
Aggiungo inoltre che un framework “noto” sul curriculum fa una bella differenza. Usare un cms / framework proprietario di un azienda comporta molteplici svantaggi (o per lo meno non comporta vantaggi) una volta terminato il rapporto di lavoro con l’agenzia X.
9
Codeigniter tutta la vita!
# - postato da Alberto - 24 Settembre 2009 - 11:07
10
allora provate http://www.yiiframework.com/ :)
# - postato da Emanuele - 24 Settembre 2009 - 11:16
11
ci sono vantaggi, ma la tendenza purtroppo e’ spesso quella di delegare “competenza” al framework.
Troppe aziende cercano juniors pensando: tanto usiamo un framework, non ci servono sviluppatori skillati.
Questa e’ la base per creare applicativi/siti talvolta problematici, insicuri, lenti, non scalabili, ingordi di risorse … spesso bucabili per settimane causa falle pubbliche, la forza della comunita’ di cui parlate, e l’incapacita’ del team di mettere mano al codice per capire e risolvere il problema.
Vale per qualunque strato, client o server, e applicazioni a rischio o “bloccate” per diverso tempo.
Ho usato frameworks e li uso anche ora, mi spiace solo “nessuno” cerchi piu’ sviluppatori capaci di usare, hackare, o creare frameworks - mi ritengo fortunato che qui ne hanno bisogno, framework non significa sicuro o perfetto, significa delegare a terzi lo sviluppo del core del nostro business, non si scherza - e se il core ha problemi o i requisiti non sono previsti cosa fate rispondete “non e’ possibile” o “stiamo aspettando una patch da terzi” ?
Il consiglio e’ scegliere un framework dopo aver almeno letto i sorgenti dei files principali, leggere la lista dei bugs per valutarne la gravita’ storica, studiare l’API e meglio ancora studiare lo stack del framework cosi’ da poterlo plasmare se o quando necessario.
P.S. manca Drupal in quella lista
12
La principale cosa che mi frena dall’usare i framework PHP sono le prestazioni e lo Scaffolding del database, cioè intendo quel codice che ti gestisce a modi oggetti il database (tipo hibernate). E’ comodo, ma se devi fare qualcosa di complesso mi perdo ed ho l’impressione di perdere il controllo delle query.
Si può evitare di utilizzarlo, ma il più delle volte vieni costreto dall’architetura del framework.Dato che sviluppo principalmente piccole cose per diletto, mi sono sviluppato un mio piccolo framework MVC “simile” a cakePHP per la gestione MVC del progetto tenendo l’interrogazione del DB alla vecchia maniera.
Se dovessi lavorarci sicuramente userei un framework esistente, codeigniter e Zend mi sembrano i migliori.
13
Concordo in toto con andr3a.
P.S. Drupal non è propriamente un framework, almeno non nel significato cui ci si riferisce in questa discussione :)
# - postato da Giancarlo Moschitta - 24 Settembre 2009 - 12:10
14
Dopo qualche tentativo con framework homemade ho iniziato ad utilizzare Zend Framework. I vantaggi sono tanti, ottima documentazione e supporto (aggiornamenti, forum, tutorial, ecc.), il codice è pulito e di facile manutenzione, vantaggio soprattutto nel lavoro in team.
# - postato da Davide - 24 Settembre 2009 - 12:11
15
Curiosità.
Con Wordpress, Joomla… etc etc… ormai si può fare quasi tutto.
E’ una domanda di curiosità personale e non una provocazione.Ha senso sviluppare con un frameworks?
# - postato da Marco Salvadori - 24 Settembre 2009 - 12:40
16
codeigniter tutta la vita… concordo con chi lo ha detto prima di me. Essenziale, semplicissimo, aggiunge funzionalità quando serve, non intacca il modo di sviluppare in php, non ha inutili fronzoli, è perfetto!
# - postato da flux - 24 Settembre 2009 - 12:46
17
@Marco Salvadori
Ehm, cosa fai con Wordpress oltre ai blog ?
18
Vorrei inoltre rilanciare con una nuova domanda. Perché il 90% degli sviluppatori che adottano un framework (sia questo cake o codeigniter) poi non lo vuole più mollare ?
Io credo che la semplicità di sviluppo sia il fattore determinante.
Cosa me ne viene se il sito è più veloce di 0.2 decimi di secondo ? Quanto mi è costato in termini di tempi di sviluppo ?
19
… framework’s tutta la vita di qualsiasi cosa purche’ siano standard e non proprietari in modo da acquisire esperienza e non trovarti out una volta che passi oltre … se poi e’ necessario si personalizza!
# - postato da sLa - 24 Settembre 2009 - 13:34
20
ahime a differenza di Javascript con PHP io non utilizzo un framework, per lo stesso motivo per cui non utilizzo un cms open source proprietario: mi scrivo qualche classe, ho il mio cms che di volta in volta adatto alle diverse esigenze, insomma, ho il pieno controllo del codice della mia applicazione.
Mi piacerebbe usare un framework, sicuramente la scala di apprendimento più o meno lunga necessaria all’apprendimento dell’uso certamente ripagherà poi nei successivi tempi di sviluppo del sito. Nel mio caso il problema è trovare il tempo per studiarne a fondo la documentazione.
Un’altro deterrente dall’usare un framework è stato il fatto di dover usare un template engine che proprio non digerisco: sto guardando però con vero interesse a Codeigniter che non ne richiede l’uso.# - postato da Filippo Buratti - 24 Settembre 2009 - 13:50
21
@Luglio7
Secondo me si può fare “quasi” tutto con i cms delegando elementi critici come gestione utenti, permessi, restrizioni… ma anche servizi aggiuntivi come gestione newsletter, commenti degli utenti…etc..etc… alle funzioni native e ai componenti.
Con Joomla direi che “quasi” tutto è fattibile.
Con Wordpress secondo me idem.Questo velocizza il lavoro che si riduce alla personalizzazione ma soprattutto da garanzia di funzionalità grazie al fatto che un cms come wordpress è utilizzato da milioni di blog/siti e costantemente aggiornato. Si riduce la possibilità di casi non trattati per dimenticanza o mancanza di voglia in un applicazione scritta personalmente.
Per esempio… avevo un sito di annunci di animali quando è diventato ingestibile perchè gli utenti giustamente scrivono quello che vogliono, caricano i formati immagine che vogliono e questo mi ha portato non pochi problemi a livello di gestione dei caratteri “strani”…oltre agli accenti… anche caratteri stranieri… o problemi di gestione foto troppo grandi, gestione del layout in funzione del ridimensionamento… problemi che alla fine si sono rivelati tutti risolvibili ma sempre pronti a mutare a causa di una possibilità di errore che non avevo considerato.
Sto appunto in questo periodo ricostruendo il sito e questa volta ho deciso di delegare TUTTO a Wordpress… dalla gestione utenti al caricamento file/foto…
Poi con i componenti in un attimo ho un feed con tutti gli annunci… posso installare plugin per il SEO (anche se facendo il SEO di lavoro, sto ottimizzando il sito con interventi diretti sul codice)
Lascio qui il dominio senza link perchè il sito anche se funzionante, è in rifinitura dal punto di vista SEO.regalocuccioli.net
Questo è un esempio di un sito di annunci fatto con wordpress… per mostrarti che alla fine un blog non è altro che un gestore di utenti e di contenuti, come tutti i siti.
I “quasi” che ho messo volutamente tra virgolette nel testo significano che è possibile fare moltissime tipologie di applicazioni web con i cms e qualche personalizzazione. Ovviamente non tutto!
# - postato da Marco Salvadori - 24 Settembre 2009 - 13:55
22
Io ho iniziato da poco ad usare Kohana e mi trovo benissimo. All’inizio è piuttosto difficile comprendere il sistema di un framework, ma ora non tornerei piu indietro. Un gran risparmio di tempo, e una maggiore pulizia del codice.
# - postato da Ste - 24 Settembre 2009 - 14:00
23
La realtà è che le necessità di un framework arrivano si devono creare applicazione complesse, in un team, con tempistiche ristrette e budget da 100/200 mila euro.
Molti sviluppatori in Italia fanno il piccolo CMS che gestisce il famoso sito vetrina, quindi non sentono la necessità di framework. E sono dell’idea che per piccole applicazioni, una volta sviluppate le classi di base (Form, MySql ecc) il framework non serva.
Io sviluppo con CakePHP e non tornerei mai indietro.. Ha molto più senso sviluppare in MVC. Comodo, veloce, pratico..
Ovvio che sviluppo applicazioni complesse!
# - postato da Arzz - 24 Settembre 2009 - 14:05
24
Scusa Marco Amadori ma non sono d’accordo con te, purtroppo ora non ho tempo di esporre la mia replica.
Onestamente trovo comunque più dispendioso e frustrante personalizzare un cms che sviluppare un nuovo modulo per il framework che utilizzo.
25
@Luglio7
Amadori?!? Quello fa altre cose… e se non sbaglio si chiama Francesco.
Quello che ho scritto è tutto IMHO.
Se non sei daccordo non c’è bisogno che esponi repliche. Avrai i tuoi motivi e rispetto il tuo punto di vista. Non c’è problema :)
Io ho solo esposto alcuni i motivi che mi fanno dire che usare un cms è meglio ed è possibile far ci quasi tutto. Ma sempre IMHO.# - postato da Marco Salvadori - 24 Settembre 2009 - 14:21
26
Scusami per l’Amadori :)
si si tranquillo… l’IMHO vince su tutto :D
# - postato da luglio7 - 24 Settembre 2009 - 14:55
27
Tutto dipende dal progeto che si sta realizzando.
Uso quotidianamente ZendFramework ma quando posso passo volentieri a CakePhp. In passato ho usato parecchio anche CodeIgniter per la spettacolare velocità di esecuzione.
Ovviamente se devo realizzare una applicazione che richiede un notevole carico di lavoro server side valuto anche l’utilizzo di scripting standalone ottimizzato.
Quasi dimenticato: jQuery per sempre!!
# - postato da Salvatore Miceli - 24 Settembre 2009 - 16:07
28
Ho sempre realizzato tutto senza alcun framework… e sono contento così.
29
Sono al 99% CodeIgniteD!! :-)
# - postato da daweb - 25 Settembre 2009 - 02:19
30
Io uso CakePHP per applicazioni WEB che richiedono funzionalità poco comuni o molto elaborate.
Per i “soliti siti” uso Wordpress attingendo tra le migliaia di plug-in e temi presenti in rete.
Fare un sito con WP, sfruttando le API lo trovo divertente e per niente “frustrante”, ma soprattutto molto veloce.
31
A tutti quelli che hanno detto di usare CakePHP:
Quanto conta il fatto che supporti PHP 4 nella vostra scelta? Io uso Symfony (che nell’ultima versione ha come requisiti minimi PHP 5.2), ed onestamente per un uso professionale secondo me non c’è paragone tra i due. Symfony può sembrare più grosso e con un maggiore impatto ma (almeno a me) da l’aria di essere molto più serio di Cake (ed anche di Codeigniter).
# - postato da lloyd27 - 25 Settembre 2009 - 09:36
32
Domanda mal posta, secondo me.
Conoscere diversi strumenti software ( CMSs, CRMs, frameworks… anche non PHP… Java, Ruby, Python… ) anche in modo non approfondito ( almeno la loro fisolofia progettuale, i punti di forza e le debolezze ) mi permette di scegliere quello piu opportuno per il progetto.Certo mi son fatto il mio framework, ma non per usarlo in produzione… per semplice curiosità e sfida con me stesso…
# - postato da Andrea Paiola - 25 Settembre 2009 - 09:57
33
Quoto Alberto, CodeIgniter è ottimo, il perfetto equilibrio tra potenza, flessibilità e semplicità d’uso (grazie anche alla documentazione fatta davvero bene).
# - postato da Claudio - 28 Settembre 2009 - 08:12
34
CodeIgniter + Doctrine ( l’ORM che non è altro che la contropartita PHP di Hibernate per Java).
La fine del mondo, perlomeno per i progetti a medio breve termine.
Dopo 10 anni di sviluppo con CMS “creati ad hoc” per le mie esigenze non posso piú tornare indietro ora.
Lo consiglio a tutti.
35
Io concordo in pieno con andr3a… per me non è possibile delegare il mio core della mia applicazione a terzi.
Per due semplici motivi:
1) con php standalone ho sempre il pieno controllo su tutto il codice, se c’è un errore lo trovo e lo correggo in meno di 5 minuti
2) i clienti sono imprevedibili, spesso mi hanno chiesto cose che con un framework sarebbe stato difficile se non impossibile implementare… non perchè complesse, ma perchè strane o non standardPer questo motivo non ho intenzione di usare framework. E credo che tutti coloro che conoscono bene il php non dovrebbero sentirne il bisogno.
A meno che, come diceva qualcuno, non si tratti di rientrare in certi budget con certe tempistiche, allora a quel punto ha un senso.Per quanto riguarda javascript, io utilizzo jQuery, ma per il semplice fatto che NON conosco bene javascript, e quindi ho necessità di una libreria che faccia il lavoro sporco per me :)
36
Ami follemente il php? non sei l’unico :)
tornando alla domanda io non ho mai usato framework per i miei progetti, un po per controllare totalmente il cocice che scrivo e sopratutto per la compatibità, non mi va che una persona che si scarichi un mio programma debba scaricare altre cose, e sopratutto da quando è capitato che un programmatore scrisse una funzione chiamata “is_connected” che oltre a verificare se un utente era connesso al database scriveva su un altro database un sacco di dati inutili e cancellava quell’utente non mi fido del codice degli altri.
non so se mi sono spiegato :D# - postato da Emanuele Graziano - 20 Ottobre 2009 - 20:06
37
Beh da quando oramai 4 anni son passato a un framework MVC creat da me … non oso tornare indietro … poi cmq ora come ora sviluppando con codeIgniter & symfony nn vedo l’esigenze di tornare indietro …
Si ha la scelta a seconda dei progetti di assumere framework a nostro piacimento a seconda del grado di difficolta nello sviluppo …# - postato da Roberto Sacchetti - 15 Marzo 2011 - 13:12







