Perché i moduli di drupal funzionano con le dipendenze ?
Ciao,
la mia è solo una curiosità, volevo capire perché la logica dei moduli di drupal sfrutta le dipendenze. Ovvero il fatto che il più delle volte per installare un modulo che ti serve ne devi installare altri che non ti interessano perché servono al modulo prima.
Le dipendenze non dovrebbero essere una cosa da evitare nello sviluppo web ?
esiste un vantaggio specifico nel perché drupal ha deciso di fare sta cosa ?
grazie, alla prossima!

Risposte
Ciao, la possibilità di
Ciao, la possibilità di ri-utilizzare funzioni e strutture complesse già pronte, stabili e scritte secondo le best practices di programmazione permette maggiore sicurezza, maggiore manutenibilità del codice e la possibilità di delegare alcune funzionalità, concentrandosi solo sull'obiettivo del nostro codice.
Perché pensi andrebbero evitate?
Quello che dici e vero. Io la
Quello che dici e vero.
Io la vedevo un po come un appesantimento, nel senso che se installo un modulo e per far funzionare quello devo poi installarne altri, inserisco anche cose che non mi servono appesantendo il progetto.
In drupal o notato che tante funzionalità molto importanti le ottieni installando dei moduli aggiuntivi appositi praticamente fondamentali (es. Views). Così in poco tempo, fra dipendenze e moduli che ti servono, ti ritrovi con una listona infinita.
Il progetto ne risente di questa cosa a livello di velocità ?
E' chiaro, ogni modulo che
E' chiaro, ogni modulo che installi aggiunge overhead in termini di memoria utilizzata e velocità di esecuzione.
Il fatto è che le dipendenze, in quanto tali, ti servono se vuoi utilizzare un determinato modulo che le richiede, non sono inutili al tuo progetto.
La forza di Drupal sta proprio nell'uso di moduli aggiuntivi e la forte l'interoperabilità tra di essi.
Si parte con un core minimale, che già da sé copre molti aspetti, poi puoi aggiungere quello che ti serve modularmente. Questo approccio in realtà ti permette di limitare la quantità di codice complessiva: le alternative sarebbero o infilare tutti i moduli esistenti nel core (immagina le conseguenze) o limitare inizialmente quello che puoi fare con Drupal, rendendolo meno espandibile.
Per questo esistono piattaforme più specifiche, vedi ad esempio prodotti come Typo3 (CMS enterprise puro) o come Wordpress (orientato ai blog).