Per uno sviluppo (app) senza spine, scegli il Framework che più ti conviene
Ogni progetto di sviluppo software necessita degli strumenti giusti per essere completato. E’ necessario quindi valutare accuratamente la tecnologia con cui affrontarlo. In questo articolo, parleremo dei framework, di cosa sono, di quali siano i principali attori nel mercato di riferimento e di come la scelta di quello da utilizzare determini il successo un’applicazione mobile. Un caso di cronaca recente è la pubblicazione del codice sorgente di “Immuni”, applicazione italiana pensata per il contenimento dell’emergenza Covid-19. Alcuni sviluppatori non hanno apprezzato i framework utilizzati, andandone a contestare la natura originariamente privata. Ma facciamo un passo indietro e partiamo dalle basi: cosa si intende per “Framework”? Di seguito introduciamo le principali tipologie di Framework di sviluppo, approfondendone vantaggi e svantaggi derivanti dal loro utilizzo in ambito mobile. FRAMEWORK Il Framework è una collezione di librerie ampiamente utilizzate per sviluppare software e applicazioni mobile più efficacemente e velocemente. In essenza, le librerie sono righe di codice pronte all’uso e adattabili a secondo delle necessità di sviluppo. Vengono catalogati principalmente in framework open-source (aperti), e close-source (chiusi); in ambito mobile si parla poi di una particolare categoria, ovvero i framework multi-piattaforma. FRAMEWORK APERTO Un Open-Source Framework è una struttura caratterizzata da codice pubblico e solitamente gratuito. La varietà di codice presente in queste librerie è disponibile per la copia, l’utilizzo e la modifica da parte degli sviluppatori. Quali sono i vantaggi? L’utilizzo di codice di librerie velocizza lo sviluppo e consente agli sviluppatori di definire standard coerenti da mantenere nella creazione di applicazioni. Non solo, la comunità di sviluppatori può contribuire apportando nuove funzionalità o correggere bug e ciascuno può assicurarsi che non siano implementati comportamenti malevoli. Alcuni Framework aperti utilizzati dai nostri sviluppatori sono Flutter, Xamarin e Laravel. FRAMEWORK CHIUSO Framework chiuso si riferisce a strutture private. Il codice di queste librerie non è disponibile gratuitamente e solamente gli autori originari possono accedere, copiare e alterare il framework. I vantaggi e svantaggi sono ormai evidenti. Sì, l’utilizzo di codice velocizza lo sviluppo e permette di mantenere negli standard qualitativi. Tuttavia il codice non è pubblico e non è in alcun modo modificabile da sviluppatori non abilitati. In altre parole, la community di sviluppatori non può apportare contributi e analizzare il reale comportamento del framework. FRAMEWORK MULTI PIATTAFORMAVantaggi e Svantaggi legati all'utilizzo Framework Aperti e Framework Chiusi
Tornando all’applicazione “Immuni”, la società di sviluppo Bending Spoons ha utilizzato i framework Tempura e Katana. Questi sono stati sviluppati internamente a BS e resi pubblici nel corso del 2019. Le comunità di sviluppatori possono già da qualche tempo consultare e usufruire di queste librerie.
I più critici hanno fatto notare che chiunque voglia documentarsi in maniera approfondita sui sorgenti dell’app dovrà giocoforza investire non poco tempo per familiarizzare con i framework di cui sopra.
Per concludere, la scelta di un particolare framework non è affatto ovvia. Questa dipende principalmente dal livello di esperienza e confidenza complessiva dei singoli sviluppatori e dell’azienda di Sviluppo Web&Mobile considerata.