Nello sviluppo tecnico delle applicazioni web e mobile la scelta del framework e della modalità di sviluppo del progetto, che si adatta meglio alle esigenze di mercato del cliente, è un elemento critico che deve essere valutato con grande attenzione visti gli impatti sul business nel medio e breve termine.
Quando si parla di framework si intende un insieme di librerie sulle quali un software può essere progettato, realizzato e distribuito su più piattaforme scrivendo il codice sorgente una sola volta. Il compito del framework è infatti quello di ricompilare il codice in modo che si adatti automaticamente a sistemi operativi diversi come ad esempio iOS, Android e Windows Phone.
Oggi sul mercato esistono diversi tipi di framework, ognuno con caratteristiche e vantaggi differenti. Ciascuno di essi supporta uno o più sistemi operativi, ma non è detto che un framework possa supportare completamente le funzionalità richieste da un’applicazione e da un progetto.
Per questo motivo la scelta del framework giusto deve essere oggetto di una attenta valutazione da parte delle aziende. Questa valutazione deve prendere in considerazione numerosi parametri quali, ad esempio, le funzionalità che il cliente intende integrare nell’applicazione, i device sui quali questa applicazione deve girare, il budget a disposizione, la deadline per commercializzare l’applicazione sul mercato ed infine la strategia di lungo termine legata alla quantità di progetti che devono essere sviluppati.
La tabella che presentiamo in questo post è frutto di una piccolo approfondimento sul tema da parte del nostro team, che ha voluto selezionare e condividere online alcuni tra i framework più utilizzati e diffusi dai programmatori di tutto il mondo ed utilizzati in diversi contesti. Siamo pronti a ricevere segnalazioni da parte vostra per integrare ed estendere il più possibile questo elenco.
Uno dei criteri di selezione più importanti, e che impatta in misura maggiore sulle scelte di business development delle aziende, è relativo alla natura del framework. Questo può essere di tre tipi: nativo, HTML5, o ibrido.
Tutti i framework, come sopra accennato, non supportano tutti i sistemi operativi. Per questo motivo l’esperienza del programmatore è fondamentale per ottimizzare gli strumenti di sviluppo e le funzionalità dell’applicazione.
Il vantaggio principale nell’utilizzo di un framework consiste nella possibilità di effettuare un delivery rapido e multipiattaforma di un’applicazione: il codice, infatti, si scrive velocemente con un meta linguaggio ed attraverso librerie esistenti precompilate, ed esso viene automaticamente adattato per i diversi sistemi operativi in fase di compilazione.
Una criticità di questo tipo di framework consiste nel fatto che, all’inizio, l’azienda deve sostenere costi piuttosto elevati per l’acquisto della licenza. Occorre inoltre investire anche nelle attività di formazione per le risorse interne che dovranno occuparsi dell’implementazione e dell’uso del framework. Un limite ulteriore dei framework consiste nell’eccesso di rigidità in fase progettuale: il loro utilizzo, infatti, limita in parte la possibilità di sfruttare le caratteristiche native del device, delle linee guida dell’interfaccia e del sistema operativo che utilizzerà l’applicazione, e spesso, quindi, si corre il rischio di non riuscire a sviluppare interfacce utente pienamente ergonomiche e intuitive.
Nella scelta del framework occorre anche concentrarsi su quelli che offrono una maggiore garanzia di supporto nel corso del tempo. Alcuni framework infatti tendono a non essere più supportati dopo un certo periodo di tempo; in questo caso, se occorre implementare sviluppi ulteriori, si corre il rischio di dover riprogettare l’applicazione da zero utilizzando un framework diverso.
Inoltre, alcuni framework sono più adatti ad impieghi specifici rispetto ad altri. Kony, ad esempio, è un tipo di framework particolarmente apprezzato nello sviluppo di applicazioni per il settore bancario e financial, poichè integra al suo interno numerose funzioni utili, ad esempio, per la gestione dei sistemi di pagamento attraverso gli smartphone. Unity 3D, invece, è il framework ideale per lo sviluppo di giochi e videogames.
Nel caso di framework nativi i costi iniziali sono più bassi rispetto ai precedenti (non vi è, ad esempio, la necessità di acquistare la licenza per il loro utilizzo), tuttavia i costi tendono a crescere esponenzialmente in funzione della quantità di aggiornamenti e rilasci da effettuare nel corso del tempo, o nel caso in cui si intenda sviluppare un’applicazione per più sistemi operativi diversi tra loro.
Oggi la maggior parte delle applicazioni viene progettata sulla base del design, più che sulla volontà di garantire un’esperienza utente di valore.
Un tipo di framework scelto nel contesto giusto, che tenga concretamente conto degli obiettivi di marketing dell’azienda e le strategie di investimento in sviluppo di prodotti, consente di ottimizzare i tempi di sviluppo, presentare velocemente sul mercato la propria applicazione ed ottimizzare il processo di delivery abbattendo costi e sfruttando le potenzialità specifiche del framework selezionato.
Durante la fase di progettazione dei progetti mobile per i nostri clienti, in IQUII supportiamo fianco a fianco il nostro cliente anche nella fase di selezione del framework più adeguato ai fini del progetto, degli obbiettivi e dei risultati attesi.