Non personalizzate le applicazioni ma scrivete plugin
Martedì 4 Novembre 2008 - 08:16
di Simone Carletti

L’aggiornamento automatico di WordPress previsto per la release 2.7 mi ha dato lo spunto per un post che avevo in mente da tanto tempo sulla brutta (e sconveniente) abitudine di customizzare “manualmente” le piattaforme.
Parliamo di WordPress che più si presta ad un esempio. Buona parte delle installazioni di WordPress che ho avuto modo di vedere o utilizzare sono state personalizzate. Chi nel template, chi nelle funzionalità, chi nel comportamento… ognuna di esse ha una qualche modifica per rispondere alle esigenze di chi la utilizza.
Prendiamo per esempio questo blog: utilizza una versione personalizzata di WordPress con alcune funzionalità utili alla redazione per gestire i contributi dei collaboratori. Anche il network blogo.it, se non ricordo male, si basa su una versione di WordPress intorno alla 1.5.
Ci sono due strade per intervenire su una piattaforma: le modifiche manuali ed i plugin.
Il primo caso è normalmente più rapido ed immediato ma non tiene in considerazione il lungo periodo. Il secondo caso, invece, è la scelta che dovrebbe essere presa in considerazione ogni qual volta si utilizza una libreria esterna, un componente che segue un processo di sviluppo separato rispetto al nostro.
Molte versioni di WordPress sono state profondamente modificate tanto da rendere il loro aggiornamento una storia degna di Indiana Jones. Il prezzo da pagare è spesso molto più alto di quanto sarebbe stato, in termini di tempo, creare un plugin.
Ma allora, se questa soluzione è migliore, perché è la meno diffusa? Questa è la domanda che mi ripeto più spesso e da anni a questa parte ho trovato che la risposta è quasi sempre una sola: ciò che non si conosce appare difficile e la pigrizia di “tornare a studiare” condiziona le nostre scelte. Don’t customize WP, write a plugin! è la dimostrazione concreta di come sia banale usare un plugin per sfruttare le nostre modifiche indipendentemente dall’installazione di WordPress.
WordPress è senz’altro uno degli esempi più calzanti ma potrei benissimo estendere l’esempio anche ad altri ambiti come i framework. Gestire l’aggiornamento delle versioni diventa un incubo quando avete modificato la core library invece di adottare uno sviluppo a componenti.
Contrariamente a quanto possa sembrare, questo è un problema tutt’altro che recente. Già nel 1987 l’argomento è stato affrontato e la Legge di Demeter (anche su Wikipedia) è uno dei principi fondamentali per lo sviluppo professionale di software, in particolare nel campo dell’Object Oriented Programming. Una lettura di approfondimento che vale il tempo che gli dedicherete.
Categoria: PHP e Open Source | Permalink
Commenti
1
Secondo me, nel 2008, non ha senso fare ancora modifiche sui files dei cms senza utilizzare il sistema di plugin…
Anche io ho dovuto personalizzare Wordpress come voi tuttavia via plugins. Oramai sono arrivato ad un punto in cui i cms da me scelti debbano avere un plugin system ottimo come wordpress, vbulletin ecc
2
Sicuramente è sconveniente modificare il core di un CMS, sono d’accordo, ma il problema degli aggiornamenti spesso vale anche nel caso si utilizzino plugin che ne modificano il comportamento.
Non è raro incontrare problemi di incompatibilitè al cambio di versione.
C’è di buono comunque che plugin particolarmente utili e apprezzati dagli utenti possono poi diventare parte integrante del core.
# - postato da Gianluca S. - 04 Novembre 2008 - 10:47
3
il maggior problema dei prodotti open source aperti ai plugin è quello delle prestazioni
io continuo a scrivermi tutto da me, ci metto molto più tempo che usare codice altrui già fatto, ma so sempre dove mettere le mani, posso customizzarlo come voglio, e sopratutto, non ci sono milioni di cloni del mio sito sparsi in rete
# - postato da Mik - 04 Novembre 2008 - 12:40
4
inoltre condividendo il plugin tutta la community ne gioverebbe..
spesso però modificare il codice è più accessibile per uno sviluppatore rispetto a scrivere un plugin vero e proprio (almeno per chi ha ancora poca esperienza come il sottoscritto) anche se pensando più “a lungo termine” meglio due ore in più spese a studiare per implementare il proprio plugin che due ore in piu’ spese a bestemmiare nel corso dei mesi :D
# - postato da antonio gioia - 04 Novembre 2008 - 23:57
5
sono d’accordo con @@ Mik.
Preferisco farmi le applicazioni da solo.
6
A mio avviso sul mercato ci sono troppi cms, troppo differenti tra loro, troppo complicati.
Se dobbiamo sceglierne uno per sempre.. ok, va bene studiarselo e sviluppare a plugin, magari rendendoli disponibili alla community con tanto di traduzioni multilingua.
Ma quante volte abbiamo avuto a che fare con clienti che volevano modifiche su un Joomla mentre altri ce le chiedevano su un Drupal, altri su un wordpress, altri ancora su un e-xoops e cosi via?
Poi trovo i cms troppo complicati. Prendiamo osCommerce, anche se non è propriamente un cms. Aggiungere una funzionalita, aggiungere un box, una stringa… è facilissimo perchè non c’è un “core”, un motore vero e proprio. E’ un’insieme di pagine, funzioni, classi, stop.
Tempo fa per fare una modifica che su osCommerce sarebbe valsa 10 minuti di lavoro ho impiegato, su virtuemart/joomla, una giornata.# - postato da Claudio - 10 Novembre 2008 - 08:37







