Informazioni sul Progetto

Cliente: Lavoro in white label
Oggetto: Sviluppo app multipiattaforma in Xamarin

Il lavoro di sviluppo per il cliente finale, è stato svolto tramite una azienda intermediaria, pertanto non viene utilizzato il nome reale, nel rispetto dei vincoli contrattuali con l’azienda intermediaria.

L’azienda cliente è una startup in fase di incubazione che si è inserita nel settore del food tech.

Le esigenze del cliente

Il cliente necessitava di sviluppare un’app per Android e iOS, che disponesse di varie funzionalità come una vetrina per i partner, un motore di ricerca targettizzato sulle preferenze degli utenti, e permettesse interazioni di tipo social (recensioni, like/dislike, messaggistica, ecc.).

L’esigenza primaria era quella di creare una piattaforma che fosse affidabile e scalabile. Dopo una prima fase di test, infatti, il lancio dell’app sarebbe avvenuto prima su scala nazionale e, successivamente, internazionale. Era dunque fondamentale prevedere un aumento graduale nel tempo degli utenti e delle risorse utilizzate.

Oltre all’app mobile, il cliente necessitava di un pannello di gestione per gli amministratori.

I nostri task

La prima fase del lavoro è stata dedicata all’analisi tecnica, focalizzata in particolare nella scelta dell’infrastruttura backend. Abbiamo optato per una soluzione cloud su Microsoft Azure, su cui è stato ospitato il database SQL Server e le Web API per la gestione della comunicazione con il frontend. Contemporaneamente sono stati elaborati e forniti al cliente i wireframe e lo schema della business logic con cui abbiamo deciso di implementare tutte le funzionalità richieste.

Per lo sviluppo dell’app mobile multipiattaforma abbiamo deciso di utilizzare un framework che permettesse di sviluppare contemporaneamente il prodotto per iOS e quello per Android: la nostra scelta è ricaduta su Xamarin, per rimanere all’interno dell’ecosistema. Microsoft Ciò ha consentito di ridurre tempi e costi di sviluppo.

Il pannello di gestione per gli amministratori, invece, è stato realizzato come web app, ospitata anch’essa su Azure. Per il suo sviluppo è stato scelto AngularJs.

  • Stesura Business logic e Wireframe.

  • Creazione dell’infrastruttura Cloud su Microsoft Azure

  • Creazione del database su Microsoft SQL Server e delle Web API.

  • Sviluppo app cross-platform iOS e Android in Xamarin.
  • Sviluppo pannello amministratore come Web App in AngularJS

Conclusioni

Lo sviluppo di questo progetto ha presentato un notevole grado di sfida, vista la complessità della piattaforma e la forte esigenza di scalabilità. L’idea di utilizzare una piattaforma in cloud come Azure ha permesso di soddisfare a pieno tutti i requisiti.

L’utilizzo di Xamarin per lo sviluppo cross-platform dell’app ha invece permesso di contenere i tempi ed i costi totali, garantendo allo stesso tempo uno standard qualitativo del prodotto finale pressoché identico a quello che sarebbe stato possibile ottenere con lo sviluppo di app native.