E’ già passato qualche giorno da quando ho salvato alcuni appunti su questo post con l’intento di espandere i miei pensieri, ora è arrivato finalmente il momento di dedicarmici sul serio. Il tema di cui vi voglio parlare è espresso completamente nel titolo di questo post: i vantaggi di usare un framework pubblico, non sviluppato internamente (quando serve). Vediamo se siamo della stessa opinione? Continuate a leggere.
Questo post non è indirizzato verso un framework od un altro, non è la solita guerra di religione, si tratta solamente di una riflessione su quelli che sono i reali vantaggi che possono derivare dall’utilizzo di uno strumento di sviluppo portato avanti dalla comunità o da un’azienda specifica (od un mix delle precedenti). Passiamo quindi ai maggiori vantaggi che ho individuato a riguardo.
Dedicarsi alla business logic
Il principale vantaggio derivante dall’uso di un framework esterno (non sviluppato internamente quindi) è quello di non doversi preoccupare di dover lavorare sullo strumento che stiamo usando dedicando quindi maggiore e miglior tempo al progetto che ci troviamo ad affrontare. Il 99% dei nostri bisogni e dei nostri problemi (tecnologicamente parlando) saranno già stati affrontati da altri e rientreranno molto probabilmente negli strumenti messi a disposizione del framework. E saranno risolti anche bene grazie ai contributi di comunità molto spesso vaste ed attive.
Non reinventare la ruota
Come detto gran parte dei problemi che ci troviamo ad affrontare nei progetti sono molto spesso ricorrenti. E’ quindi inutile reinventare ogni volta la ruota perdendo tempo prezioso che potremmo utilizzare per fare meglio le cose che faranno la differenza per il nostro progetto. Automatizzare task ripetitivi è quindi essenziale e questa dovrebbe essere una priorità assoluta per tutti gli sviluppatori.
Documentazione
La documentazione è uno dei tanti aspetti non trascurabili per un prodotto di successo. Un buon framework deve assolutamente avere una buona documentazione indipendentemente dalla complessità del framework stesso. Spesso la documentazione dei framework sviluppati internamente non esiste semplicemente perchè non c’è stato tempo per produrla, già si è impegnato diverso tempo per il framework figuriamoci se ne è avanzato per documentare tutte le sue funzioni. Se chi utilizza lo strumento è il singolo che lo ha sviluppato il problema potrebbe anche essere trascurato, quando il team di sviluppo è già di 2 persone le cose si complicano…
Possibilità di ricercare personale già formato
Quando si tratta di ampliare il team di sviluppo, e di cercare quindi dei candidati giusti per i bisogni della nostra azienda, sarà più semplice la ricerca nel momento in cui si possa esplicitamente richiedere determinate skill su questo o quel framework. Inoltre, e forse ancora più importante, il nuovo arrivato potrà essere produttivo in un tempo molto minore rispetto al caso in cui fosse necessario imparare ad utilizzare un framework sviluppato internamente (quindi mai visto prima dal nuovo arrivato) e privo di documentazione. Vedete quindi che il punto precedente torna in luce in modo prepotente.
Dalla vostra esperienza avete individuato altri vantaggi che possano completare il quadro delinato? Attendo fiducioso!
Pingback: diggita.it
Pingback: ZicZac.it, clicca qui e vota questo articolo!
Bel post, interessante davvero!
Ho avuto modo di sperimentare in prima persona i vantaggi offerti da un framework per la programmazione JSP (Struts).
Aggiungerei il fatto di poter utilizzare a pieno la modularità offerta dai tools aggiuntivi che spesso corredano un framework, di qualunque natura esso sia (programmazione, framework per la persistenza e i databases, per le interfacce, ecc…).
Inoltre, dato che la maggior parte dei framework di successo è portata avanti da aziende o comunità, come hai detto, i nostri progetti risultano più idonei e più testati, rispetto a un progetto sviluppato da cima a fondo in prima persona!
@Arianna
Molto importante ciò che dici nell’ultimo passaggio del tuo commento. Poter contare su qualcosa di robusto e testato è un fattore fondamentale per qualsiasi progetto a cui lavoriamo. Che si parli di scalabilità o di sicurezza sapere di dormire sonni tranquilli è molto importante.