Per uno sviluppo (app) senza spine, scegli il Framework che più ti conviene

Vantaggi e Svantaggi legati all'utilizzo Framework Aperti e Framework Chiusi

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 PIATTAFORMA

I framework multi-piattaforma in ambito mobile sono quelli che consentono di sviluppare due applicazioni per le diverse piattaforme Android e iOS a partire da un unico codice sorgente. Ciò risulta particolarmente vantaggioso per tre motivi: riduce i tempi, abbatte i costi di sviluppo e apporta modifiche in comune ad entrambe le applicazioni.

 

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.