Come scegliere un Framework
- Alby DEV
- Sviluppo web
- 14/09/2019
Oggi lo sviluppo “from scratch” è sempre meno utilizzato.
Budget più bassi e tempi di lavoro più stretti hanno costretto la maggior parte degli sviluppatori a partire da una base già disponibile per iniziare a creare i loro progetti.
Io personalmente amo ancora sviluppare from scratch, ma vivendo nel mondo di oggi e non potendo passare le notti a scriver codice ho dovuto adattarmi al mondo attuale e iniziare ad utilizzare anch’io alcuni framework.
Per alcuni potrebbero essere consigli banali, ma molte volte quando ci si trova davanti alla scelta fra angular, vue o react oppure laravel o codeigniter etc. la decisione può essere ardua.
Premessa
Prima di iniziare a sviluppare i vari punti dell’articolo vi ricordo una massima generale: non si può utilizzare bene un framework senza conoscere il linguaggio in cui è scritto.
Non potrò usare bene bootstrap se non conosco il CSS, nè laravel se non conosco il php nè react senza javascript. In questo mestiere avere solide basi fa veramente la differenza fra il copiare codice da stackoverflow e scriverlo sapendo esattamente cosa si sta facendo, il perché e le ripercussioni generali sul progetto.
A cosa serve un framework?
La prima e più ovvia domanda dovrebbe essere: “Cosa dovrebbe fare il framework?“. Purtroppo sovente questa domanda viene ignorata.
L’utilizzo di un framework creato per soddisfare uno scopo specifico è più semplice rispetto all’adattarne un altro alle nostre esigenze. Utilizzare jQuery per manipolare le strutture di dati non è sicuramente la scelta migliore da fare. Pertanto devi avere ben chiaro in mente l’obiettivo finale per poter effettuare la scelta giusta.
4 caratteristiche per scegliere un framework
Voglio provare ad indicare 4 caratteristiche importanti da tenere presente quando ci si appresta alla scelta di un nuovo framework:
- Tempo
- Proprietà e caratteristiche tecniche
- Il coinvolgimento della community
- Conseguenze della scelta
Queste sono le quattro chiavi per poter effettuare una buona scelta.
Ovviamente esistono pregi e difetti per ogni framework, ma tenendo a mente questi quattro punti si può prendere una decisione corretta.
Tempo
In un mondo sempre di corsa, il tempo è cruciale.
Il fattore tempo è molto importante nella scelta di un framework. Perché? Perché senza tempo per studiarlo, testarlo e svilupparlo è inutile pensare di poterlo utilizzare.
Spesso abbiamo poco tempo per consegnare un progetto e introdurre un nuovo framework causerà quasi sicuramente dei ritardi. Pertanto, in termini di pianificazione anticipata sui tempi, dobbiamo verificare la quantità di codice che questo framework ci farà scrivere. Non solo il tempo effettivo che impiegheremo per scriverlo, ma anche quanto sarà complesso il codice che tu e il tuo team dovrete scrivere in quanto causerà anche una perdita non minima di tempo.
Il livello di complessità influisce anche su quanto sarà gestibile. Quindi più scrivi codice, più diventa difficile supportarlo in seguito.
Ho trovato online questa simpatica regola di base della programmazione:
e = mc² ( errors = more code ^ 2)
Proprietà e caratteristiche tecniche
La scelta di un framework può essere influenzata da aspetti tecnici, dalle parole della community e da ciò che è possibile trovare sulla documentazione del framework.
Non lasciarti ingannare da quel che leggi nei forum. Il modo migliore per sapere se ciò di cui si parla è reale è semplice: testare.
Tuttavia, come sottolineato in precedenza, a causa del tempo limitato, testare un framework potrebbe essere un lusso che non possiamo permetterci, quindi cerchiamo di estapolare la caratteristica tecnica più importante dalle informazioni disponibili.
Il framework è adatto alla struttura del progetto che abbiamo o che vorremmo implementare? L’uso di un framework progettato per un compito specifico è più semplice dell’adattamento di uno ai nostri bisogni.
Sarà meglio in termini di performance? Inutile orientarsi verso un framework lento sai da sviluppare che poi in esecuzione.
Se stiamo scegliendo un framework front-end, è importante verificare la compatibilità tra browser.
Infine come hi detto già nella premessa di quest’articolo devi conoscere le basi: per essere in grado di scegliere correttamente una struttura devi conoscere le basi e i requisiti per comprenderla appieno. Quando scegli un framework ovviamente devi sapere di cosa stai parlando. Con questo intendo che devi sapere qual è lo scopo di un framework. Se non disponi delle conoscenze di base, sarà inutile apprendere un framework poiché non sarai in grado di capirlo completamente.
Se non sei preparato, impara prima le basi.
Il coinvolgimento della comunità
Cosa rende degno di considerazione un framework? Le persone che lo usano. Ok, ma come possiamo capire se un framework ha una community attiva?
Esistono diversi fattori che possono farci comprendere il coinvolgimento della community per una determinata tecnologia:
- Quante persone ne parlano sul web?
- Quante persone continuano a usarlo?
- Con quale frequenza lo sviluppatore risponde alle segnalazioni di problemi?
- Quante richieste pull?
Queste sono solo alcune delle domande che possono darti alcune informazioni sul coinvolgimento della comunità.
Quali sono i vantaggi di un framework “affollato”?
Una comunità attiva aumenta considerevolmente la documentazione su una determinata tecnologia, riducendo così il tempo necessario per la ricerca e l’apprendimento.
Inoltre, se l’azienda in cui lavori sta crescendo, sarà molto più facile trovare collaboratori che abbiano familiarità con il framework data la sua popolarità.
Non sempre però una community attiva è abbastanza per dirigere la nostra scelta. Dopo aver appurato l’esistenza di una buona community occorre controllare quante di queste persone (meglio se grandi aziende) utilizzato effettivamente questa tecnologia in ambiente di produzione!
Scoprire chi utilizza una determinata tecnologia è tutt’altro che facile, ma spesso i creatori stessi menzionano le aziende che utilizzano il framework e, nel caso, controllano come implementano questa tecnologia e per quale scopo.
Di solito i team di sviluppo di queste tecnologie rilasciano una tabella di marcia sui loro piani futuri, quindi controlla cosa hanno in mente.
Conseguenze della scelta
Prima di finalizzare la scelta, dovremmo prenderci un momento per pensare alle possibili conseguenze di ciò che la scelta del nuovo framework potrebbe comportare nell’ambiente di sviluppo.
Ricorda che se lavori in gruppo, per altri potrebbe essere più difficile imparare un nuovo framework.
Quanto pensi che potrebbero impiegare per familiarizzarsi con esso e quanto tempo pensi che possano dedicare all’apprendimento? Dovrebbero sapere qualcos’altro prima di studiare?
La scelta deve essere ponderata e discussa più volte per vedere soprattutto cosa pensa la squadra al riguardo.
Conclusioni
Non esiste una regola aurea che garantisce al cento per cento la scelta giusta. Solo la pratica e il tempo potrà farcelo capire.
In questo articolo spero di essere riuscito a darti spunti dai quali partire per affrontare la tua scelta, ma ricorda:
Non si tratta di trovare il framework migliore, si tratta di trovare il framework giusto.