Creare un backend con Azure Mobile Apps
Azure mette a disposizione funzionalità appositamente concepite per lo sviluppo di applicazioni native dedicate ai dispositivi mobili, gli strumenti offerti consentiranno di realizzare soluzioni multipiattaforma compatibili con tutti i sistemi operativi più utilizzati (Android, iOS e Windows), gestire le procedure di autenticazione degli utenti, memorizzare dati in remoto attraverso il Cloud, progettare backend adottando linguaggi come C# o ambienti come NodeJS e inviare notifiche push.
La piattaforma di Redmond permetterà di realizzare Mobile App in grado di interagire con i data center locali così come di sfruttare connessioni ibride e VPN per accedere alle informazioni gestite, indipendentemente dal posizionamento del device utilizzato per formulare le richieste o per inviare dati all'infrastruttura su cui lavora l'applicazione. Nello stesso modo il servizio Active Directory consentirà di autenticare gli utenti per il collegamento a risorse locali.
Che si sfruttino soluzioni interne alla propria azienda, come per esempio quelle gestite tramite SAP, Oracle, SQL Server e SharePoint, o si preferisca un approccio totalmente basato sul Cloud, gli sviluppatori potranno avvalersi di framework come Xamarin o PhoneGap per ideare App di livello enterprise per dipendenti e clienti; queste ultime rimarranno comunque disponibili in presenza di malfunzionamenti a carico della rete, permettendo di creare e modificare i dati anche offline.
Dal punto di vista delle prestazioni, il caching in locale (cioè nel device) dei dati server consentirà di realizzare applicazioni reattive ed esperienze di sincronizzazione nativa su tutte le piattaforme supportate. Il motore di notifica push Hub di notifica potrà essere connesso al backend di un'App sia che sia ospitato in locale o che si operi in Azure.
Creare Mobile App con i Servizi App di Azure
Per creare una nuova Mobile App è possibile utilizzare gli strumenti offerti dalla sezione "Servizi App" presente nel pannello di gestione del portale di Azure. La procedura necessaria è la medesima che viene richiesta per la realizzazione di una Web application, motivo per il quale dopo aver clickato su "Servizi App" si potrà procedere tramite l'opzione "Aggiungi" e assegnare all'applicazione un nome (ad esempio "MyDroid") nonché il gruppo di risorse di appartenenza (come il precedentemente creato "MyApps").
Una volta clickato su "Crea", il nuovo progetto diventerà disponibile tra le applicazioni accessibili attraverso la schermata di "Servizi App".
A questo punto il servizio avrà già definito un URL dedicato all'App sulla base del nome che è stato associato ad essa dallo sviluppatore, tale URL identificherà univocamente lo spazio Cloud per l'implementazione dell'applicazione; nel caso del nostro progetto avremo per esempio il seguente URL:
http://mydroid.azurewebsites.net
Dopo aver selezionato la Mobile App appena creata ci si potrà recare sul percorso "Stumenti > App per dispositivi mobili" e selezionare la piattaforma di riferimento per l'applicazione da realizzare.
Relativamente all'esempio proposto il sistema operativo scelto sarà Android, motivo per il quale sarà opportuno dotarsi degli Android Developer Tools che includono l'ambiente di sviluppo integrato Android Studio e la piattaforma Android più recente. L'Azure Android SDK verrà invece fornito di default con l'avvio del progetto.
Creazione del database
Una volta selezionato Android come piattaforma per il nostro progetto si potrà procedere con la definizione delle caratteristiche dell'App. L'applicazione mobile creata utilizzerà un database per la memorizzazione dei dati e l'interazione con le informazioni necessarie per il suo funzionamento; la prima parte relativa alla sua configurazione riguarderà appunto la connessione alla base di dati (Connect a Database).
Si dovrà quindi scegliere la tipologia di sorgente dati per l'App optando per "SQL Database" o "Storage". Selezionando per esempio la prima voce si potrà procedere con la configurazione delle impostazioni necessarie:
Da questa posizione sarà possibile creare un nuovo database o utilizzarne uno preesistente, nel caso del nostro esempio verrà generata una nuova base di dati, per cui si potrà clickare su "Crea un nuovo database".
Al nuovo database si dovrà attribuire un nome, ad esempio "DroidAppDB", e associare un piano tariffario. Per eseguire una semplice prova di funzionamento si potrà optare sul piano gratuito che offre 32 Mb per i test.
Una volta clickato su "Crea", la fase relativa alla creazione del database sarà esaurita e si potrà passare alla configurazione del server per la base di dati; clickando su "Server" si dovrà quindi generarne uno nuovo associando ad esso un nome, ad esempio "myserverapp", definendo le credenziali per l'autenticazione dell'amministratore e la sua localizzazione geografica.
A questo punto, una volta che l'utilizzatore avrà clickato su "OK" il sistema provvederà alla generazione del database e del relativo server.
Table API per il backend della Mobile App
Per consentire l'archiviazione di dati in backend da parte di una Mobile App sviluppata con Azure sarà necessario generare una tabella appositamente dedicata (TodoItem table API); a tal proposito la piattaforma offre un'interfaccia di programmazione che per una soluzione indirizzata ad Android permetterà di scegliere tra due diversi strumenti (o Backend languages): l'environment JavaScript Server Side NodeJS e il linguaggio C# (per backend .NET).
Nel caso in cui si scelga un backend basato su NodeJS sarà necessario spuntare la casella con la quale si conferma di sapere che gli eventuali contenuti già realizzati saranno sovrascritti e verranno quindi perduti; fatto questo si potrà procedere clickando su "Create TodoItem table". Optando invece per il backend .NET si potrà clickare direttamente su "Download" ed estrarre il package così ottenuto in Visual Studio per il building.
Tornando al primo caso, cioè una volta creata la tabella per il backend con NodeJS, si potrà configurare la propria client application scegliendo se creare una nuova App o se effettuare una connessione ad un'applicazione preesistente e procedere con il download del relativo pacchetto sotto forma di archivio compresso in formato Zip.
Una volta scaricato il proprio progetto Android based lo si potrà estrarre all'interno di una cartella e importarlo in Android Studio in modo da disporre di una Mobile App preconfigurata da modificare sulla base delle proprie esigenze oppure utilizzare il simulatore Android per eseguire i primi test di funzionamento.
Le procedure per la realizzazione di una Mobile App su iOS o Windows saranno le medesime, cambieranno soltanto i prerequisiti e gli IDE di riferimento a seconda della piattaforma scelta.