L’avvento del Cloud ha determinato una notevole revisione dei paradigmi di sviluppo dei software e delle applicazioni. Probabilmente però, nonostante la febbrile evoluzione dei servizi della “nuvola”, un utente non tecnico non sarebbe perfettamente in grado di percepire l’entità dell’impatto del cloud sul paradigma di progettazione e sviluppo di software applicativi.
Non sarebbe nemmeno sufficiente enfatizzare il fatto che grandi player di mercato
stanno aderendo massivamente al paradigma cloud-native per lo sviluppo di
applicazioni e modelli innovativi.
La necessità
Ad ogni modo, elementi sintomatici del cambio di mentalità operato dagli sviluppatori per la realizzazione di applicazioni native per il cloud sono tangibili in una moltitudine di situazioni che viviamo quotidianamente.
Ad esempio, per leggere questo articolo stiamo utilizzando un’interfaccia. E per
arrivare fin qui, probabilmente abbiamo cliccato su una serie di link, usufruendo quindi
di un’interfaccia ulteriore predisposta per navigare attraverso i vari link per arrivare
alla destinazione desiderata.
Oppure immaginiamo di dover comprare un biglietto aereo e di trovarci su uno di quei siti che compara migliaia di voli immediatamente.
Come può un sito web o un’applicazione immagazzinare una tale mole di dati e capire quali siano, di volta in volta, quelli da mostrare? Sarebbe estremamente inefficiente sviluppare un software con un database da dover aggiornare ogni giorno con enormi quantità di dati. Alcune informazione devono essere prese da qualche altra parte nel momento in cui servono. Quindi come?
La soluzione
Che siate utenti esperti o meno, la risposta è: grazie alle API. Un’API (Application Programming Interface) è un insieme di definizioni e protocolli di comunicazione che regolano e realizzano l’integrazione tra software applicativi.
Il vantaggio principale che queste offrono è una netta semplificazione dei processi di sviluppo delle applicazioni e un consequenziale risparmio di tempo e denaro.
Ciò è dovuto all’interoperabilità delle API, che consente la comunicazione tra prodotti o servizi diversi prescindendo dalla conoscenza delle modalità di implementazione.
Ne deriva una significativa agevolazione dei processi di progettazione,
amministrazione e utilizzo, sia in fase di realizzazione di strumenti e prodotti nativi, sia
in circostanze di gestione di strumenti e prodotti già esistenti.
Adottare quindi un approccio strategico incentrato sull’API ha un valore considerevole
in ottica di crescita del proprio business.
API First
Nel tentativo di sfruttare a pieno i vantaggi offerti dal modello cloud-native, in GreenVulcano abbiamo riformulato la fase di progettazione dei nostri prodotti Sensoworks, Claudio e Gaia in funzione di un nuovo approccio allo sviluppo applicativo: l’API first.
Per i nostri sviluppatori è stata necessaria una sorta di metamorfosi dopo la quale il
paradigma di sviluppo “API first”ha assunto una priorità assoluta.
API first altro non è dunque che un modello di progettazione di sistemi che,
impattando la fase di progettazione, pone le API al centro della strategia di sviluppo.
Adottare un approccio API first, per l’implementazione di applicazioni native cloud,
consente di accelerare il processo di sviluppo; un aspetto di notevole importanza per
rispondere ai costanti mutamenti di un mercato in continua evoluzione.
Maggiore è la capacità di un’azienda di adattarsi al mercato in modo agile, scalabile e
veloce, migliore sarà il valore offerto agli utenti e la capacità competitiva futura.
Abbracciare un approccio API first dimostra come non sia l’app di per sé ad essere
sufficiente per la customer experience, quanto piuttosto sia l’interoperabilità fra
applicazioni e siti web a consentire di progettare e integrare risorse tecnologiche che
possono essere riutilizzate per soddisfare le esigenze dei fruitori secondo un’ottica
user-centered.