Velocizzare lo sviluppo di app mobile con OpenAPI

30 Gen 2020 - - by Alberto Cappellina

Velocizzare lo sviluppo di app mobile con OpenAPI

30 Gen 2020 - - by Alberto Cappellina
ISCRIVITI ALLA NEWSLETTER

L’ambito dello sviluppo di app mobile presenta delle peculiarità e delle problematiche specifiche rispetto allo sviluppo di altri applicativi. Molto spesso, nella definizione dei modelli e delle logiche di comunicazione con i sistemi back-end, le dinamiche del mobile non vengono gestite in modo ottimale, rendendo laborioso e impegnativo il lavoro per gli sviluppatori.
In Intesys abbiamo scelto di integrare nel nostro processo di sviluppo software la Specifica OpenAPI, soluzione efficace per semplificare, velocizzare e standardizzare lo sviluppo mobile. Vediamo assieme come funziona la soluzione che abbiamo adottato.

Le sfide dell’integrazione mobile con i sistemi back-end

La quasi totalità di applicazioni che troviamo sugli store interagisce con dei sistemi di back-end che operano secondo lo standard REST e comunicano tramite request e response, il cui contenuto è in formato JSON.

Chi si occupa di definire i modelli e le logiche di comunicazione dei sistemi back-end è talvolta all’oscuro delle problematiche di integrazione con il mobile, quali:

  • Smartphone con processori o capacità di rete inferiori rispetto al mondo desktop;
  • Connettività in 3G/4G con qualità altalenante o assenza improvvisa di essa;
  • Necessità di id univoci per accesso puntuale alle informazioni senza la possibilità di scaricare grosse quantità di dati.

Oltre a queste problematiche, è importante ricordare che per il mobile è necessario implementare non solo i metodi per accedere ai servizi back-end, ma anche le strutture per immagazzinare i dati ottenuti per le diverse piattaforme. La definizione di questi modelli può essere realizzata diversamente a seconda delle piattaforme Android o iOS e in base ai diversi membri dei team.
Tutto ciò causa differenze di comportamento dell’app più o meno evidenti, ma in ogni caso indesiderate.

A causa delle complessità nella gestione dello sviluppo mobile, in passato ci siamo ritrovati spesso ad utilizzare servizi non ottimali che ci hanno portato a ricorrere alla progettazione di API strutturate e standardizzate, che non cambiano al variare della tecnologia e dei componenti utilizzati e permettono di favorire il dialogo tra gli applicativi e i sistemi back-end, consentendo il loro riutilizzo per scopi diversi.

La progettazione strategica delle API abilita la creazione di valore nei progetti mobile grazie alla scalabilità e alla manutenibilità garantita da risorse standardizzate e riutilizzabili.

OpenAPI per la standardizzazione delle API

Per velocizzare lo sviluppo mobile e la qualità dei nostri progetti, abbiamo scelto di integrare la Specifica OpenAPI, soluzione efficace e immediata che consente di standardizzare le API generando automaticamente la documentazione di metodi, parametri e modelli.

OpenAPI è un format di descrizione di API per servizi RESTful, che opera tramite il seguente processo:

  1. si definiscono le API per l’accesso ai servizi tramite un linguaggio di mark-up specializzato per le comunicazioni REST, astraendo quindi da un linguaggio di programmazione specifico,
  2. il software OpenAPIGenerator legge tale definizione e ne genera una implementazione specifica.

Seguendo questa specifica, viene generata una libreria di comunicazione per i linguaggi tra i numerosi disponibili come Swift, Kotlin, C, C++, C#, Dart, Java, JavaScript, Objective-C e tanti altri. Queste librerie contengono inoltre i framework standard per la comunicazione di rete di iOS (Alamofire) e di Android (Retrofit) e riducono le procedure di comunicazione con il back-end a una semplice invocazione di un metodo, senza necessariamente richiedere una conoscenza approfondita dei framework o dello standard REST.

Il risultato sono delle librerie di progetti Android e iOS liberamente modificabili, generate tramite OpenAPI Generator grazie ad una serie di modelli anch’essi editabili. Personalizzando tali modelli, il nostro team mobile è riuscito ad ottenere alcune caratteristiche desiderate, tra cui:

  • per quanto riguarda Android, sono stati creati dei template specifici in modo che venissero utilizzate Coroutines (un sistema per trattare in maniera asincrona delle invocazioni a metodi asincroni) al posto di ReactiveX;
  • relativamente a iOS, sono stati creati dei template specifici tali da consentire l’inserimento e l’utilizzo di dati fittizi per simulare le risposte del sistema di back-end anche se lo sviluppo di questo non è ancora stato completato.

OpenAPI nel caso Dolomiti SuperSki

L’efficacia di questo approccio è confermata dai nostri più recenti progetti mobile, in particolare quello realizzato per l’App di Dolomiti SuperSki (MyDolomiti), realizzata secondo la seguente procedura:

  1. Definizione delle API da parte del team mobile e back-end,
  2. Condivisione e versionamento delle API tramite un sistema di merge review su GitLab per assicurarsi che su tutte le piattaforme non vi siano cambiamenti che possano causare comportamenti non attesi o indesiderati,
  3. Dopo l’approvazione del merge review, viene avviato il generatore che implementa una libreria iOS e una libreria Android. A questo punto le due piattaforme hanno i metodi di comunicazione e i modelli allineati, evitando comportamenti difformi o disallineamento tra piattaforme.

L’esperienza ha mostrato la capacità di OpenAPI di portare ottimi benefici, rendendolo uno strumento efficace e indispensabile nei nostri progetti mobile per ottenere una maggiore standardizzazione dello sviluppo delle API e per l’aumento della qualità del software.

Scopri di più sulle Architetture IT basate sulle API

iscriviti-alla-newsletter

Condividi su:

Alberto Cappellina

  • Gli ingredienti per gestire un app mobile ad alto traffico: il caso Dolomiti Superski

  • Software testing, l’importanza di un collaudo automatizzato

  • Code Review, come la revisione del codice può garantire la qualità del software

  • Le aziende più innovative del 2019 spingono su User Experience e Omnicanalità

  • Liferay Symposium 2019: le novità in vista per la digital experience

Iscriviti alla Newsletter

Inserisci i tuoi dati e ti iscriveremo alla nostra Newsletter. Riceverai una mail ogni volta che uscirà un nostro nuovo articolo. Non ti preoccupare, non ti intaseremo la casella di posta e - se cambierai idea - potrai cancellarti in qualsiasi momento.
* campi richiesti
Interessi
Privacy *