Mobile Backend Starter

Di - 13 June 2013 - in
Post image for Mobile Backend Starter

Mobile Backend Starter é un nuovo pacchetto pre configurato che possiamo installare con un click sulla piattaforma Google AppEngine, il quale preparerà tutte le strutture, il codice e le configurazioni necessarie per estendere una nostra applicazione con cloud backend.

Cosa ha di speciale il fatto di aver un cloud backend?

Prima di tutto perchè potrebbe servirci un backend, o infrastruttura server in generale; successivamente vedremo perchè questo backend in hosting Cloud AppEngine è più conveniente per un’ applicazione Android.

Prendiamo come ipotetico esempio di voler scrivere un’ applicazione per tener traccia delle spese giornaliere; con un backend possiamo:

  • Effettuare backup di informazioni relative all’applicazione (es. le configurazioni, dei dati importanti, etc..)
  • Sincronizzare le informazioni salvate per utente, su diversi device che effettuano si collegano con la stessa utenza
  • Limitare i dati presenti sul device e sincronizzarli a richiesta (es. potremmo mantenere solo l’ultimo mese e se necessario richiedere al server le transazioni dei mesi precedenti)
  • Inviare aggiornamenti periodici ai device dal server (es. il server si collega ogni ora al sito della banca e notifico se ci sono nuove transazioni)
  • Effettuare operazioni onerose in termini computazionali (es. reportistica sulle nostre spese o ricerche, soprattutto se vogliamo analizzare anni di storico)
  • Rendere accessibili i dati anche con delle Webinterface o da applicazioni scritte per altri OS
  • Condividere informazioni fra vari utenti dell’applicazione (es. condivido i dati delle spese di trasferta con l’ufficio rimborsi, senza dover estrarre i dati e inviarglieli)

In altre situazioni (es. Instant Messagging, Video Giochi) il backend può anche agire da tramite per tutto lo scambio di informazioni fra 2 utenti, oppure come gestore iniziale della connessione tra i due utenti che una volta autorizzati si connettono direttamente in P2P.

Sono molte funzionalità, anche abbastanza complesse, da implementare soprattutto per grandi numeri di utenti, e bisogna pensare a molte variabili (performace computazionali, banda utilizzata, disponibilità del server online, security dei dati, etc…) e spese (l’hardware del server, i backup dei dischi, il costo per la banda internet garantita, etc..).

Ok ma per ora ho un’applicazione che forse non verrà neanche installata da 1000 utenti, posso spendere poco, dedicare poca attenzione alle performace della mia implementazione; insomma fare in piccolo…

Se poi ho un boom e 100.000 utenti? Devo rifare tutto e migrare su macchine più potenti e migliorare il codice…

Se dopo il boom moltissimi migrano ad un’altra piattaforma e torno a 100 utenti? Ho hardware non utilizzato che pago e spese che non sono più giustificabili.

Cloud backend

Costruendo un backend su AppEngine ci leviamo i molti grattacapi relativi all’ hardware e banda, e il loro dimensionamento; abbiamo 100 utenti? Forse stiamo anche nella quota mensile gratuita; abbiamo 100.000 utenti da un giorno all’altro? Il sistema scala automagicamente e noi dobbiamo solo pagare per mantenere le prestazioni necessarie.

Ma dobbiamo comunque considerare tutti i grattacapi dell’ implementazione software; e se trattiamo dati sensibili, anche di fiducia riguardo a come li trattiamo (saranno criptati? Che certezze ho che non vengano letti da altri utenti?, ecc…). E, ancora, l’infrastruttura di servizi per la comunicazione da server a device e vice versa… Possiamo usare Google Cloud Messaging, ma comunque parte dell’implementazione dobbiamo farla a mano.

Mobile Backend Starter si occupa, lato server, anche di tutto questo con la qualità delle soluzioni made in Google.

Architettura Cloud - la parte AppEngine generata da Mobile Backend Startet

Come possiamo vedere dall’immagine, tutta la parte di backend risiederà su App Engine, ma tutte le configurazioni e il codice per utilizzarle saranno in carico a Mobile Backend Starter Kit; giorni e giorni di lavoro risparmiati.

Non ci resta che implementare la parte di comunicazione tra il nostro device ed il server, ma anche qui i Googlers ci vengono in aiuto e possiamo partire dalla sample app.

Nel caso in cui volessimo modificare ed estendere il backend, il codice per farlo è disponibile su GitHub.

Come al solito vi rimando alla documentazione ufficiale per informazioni più dettagliate e le guide passo passo per iniziare.

Via | Android Developers Blog

 

Leave a Reply

Articolo scritto da

Techy, sviluppatore .Net per professione, sviluppatore Android per passione. All Around Android Lover e Google Enthusiast

Contatta l'autore

Previous post:

Next post: