Software

Evolversi con Firebase 

Chi ha detto che bisogna essere full-stack per sviluppare un’applicazione?

Francesco Destino Aprile, 2020
Evolversi con Firebase 

Durante la fase di analisi per realizzare un’applicazione c’è sempre uno studio precedente per decidere quali librerie esterne utilizzare per ottimizzare lo sviluppo dei nostri applicativi. 
 

Durante lo sviluppo delle applicazioni mobile, Firebase è sicuramente risultato lo strumento più utilizzato da parte del nostro team. 

Firebase è una piattaforma creata e gestita da Google che offre una moltitudine di funzionalità utilissime durante lo sviluppo di applicazioni mobile e non solo, come la gestione delle notifiche push, l’utilizzo di machine learning e l’utilizzo di database in tempo reale. 

Nell’autunno del 2019, Certimeter Group ha avuto la possibilità di partecipare al meeting annuale di Firebase, ospitato a Madrid, in cui ha avuto modo di scoprire le novità della piattaforma e approfondire quello che i nostri team avevano visto durante gli sviluppi di apps mobile, ovvero la gestione delle notifiche e l’utilizzo dei realtime database. 

Tra una pausa e l’altra abbiamo anche avuto la fortuna di scambiare alcune parole con Frank Van Puffelen, developer program engineer in Google, e di farci un’idea più chiara di alcune funzionalità di Firebase. 


Firebase extension

Le extensions sono una delle novità presentate durante il summit di Madrid. 

Sono una collezione di funzionalità, al momento non troppo vasta, da poter utilizzare nei nostri software senza scrivere o debuggare alcun codice. 

Queste funzionalità permettono di estendere i nostri applicativi con alcune features come l’invio di email, il resize di immagini e la traduzione di testi e possono essere implementate nei back-end per velocizzare il processo di sviluppo. 

 

Al momento le funzionalità sono ristrette; ma sono presenti pagine di feedback dove la community può proporre nuove idee da sviluppare per ampliare la raccolta di funzionalità. 

 

Realtime Database vs Firestore 

La piattaforma offre due tipi di soluzioni per cloud-database che supportano la sincronizzazione in tempo reale. 

Il Realtime Database è la prima versione, creata per soluzioni a bassa latenza, per gestire dati in tempo reale, molto utile quando si tratta di mostrare dati che vengono costantemente aggiornati, come le chat o raggruppamenti di dati statistici. 

Firestore invece è il suo successore, più ricco, più veloce e scalabile con una costruzione di modelli più efficace, il tutto con una complessità maggiore rispetto ai Realtime Database. 

 

Sono entrambi database NoSQL, nei primi si memorizzano i dati con una struttura di JSON alberati per semplificare la gestione dei dati, ma che comporta alcuni problemi per la creazione di strutture più complesse, in Firestore invece i dati vengono salvati in documenti, ognuno dei quali contiene un set di coppie chiave valore, come una mappa per memorizzare i dati. 

 

Entrambi supportano la modalità offline, i dati possono essere estratti, ordinati e filtrati con delle queries, Firestore dà però la possibilità di concatenare più funzionalità di filtro e ordinamento. 

Machine Learning Kit

Questo kit di Firebase consente di utilizzare le potenti funzionalità del machine learning nella propria applicazione con estrema semplicità, dandoci la possibilità di utilizzare il loro kit per modernizzare le nostre applicazioni. 

Il ML Kit espone API per i casi più semplici: face detection, text recognition, barcode scanning e per l’utilizzo basta dare in pasto alla libreria una collezione di dati per avere in risposta le informazioni di cui abbiamo bisogno, con poche linee di codice. 

 

Si ha la possibilità di sfruttare API in cloud o direttamente sui dispositivi sfruttando delle semplici e intuitive interfacce per utilizzare le funzionalità di cui abbiamo bisogno. 

 

Coinvolgimento degli utenti

Firebase dà la possibilità di personalizzare la user experience e di convolgere gli utenti attivi nei nostri applicativi offrendoci svariate opzioni, tra queste vediamo: 

  • Google Cloud Messaging: è una soluzione a basso costo per le notifiche, che siano di tipo push per mostrare notifiche su dispositivo che di tipo silent per sincronizzare i dati, con la possibilità di automatizzare l’invio di notifiche da server. 

  • Predictions: è utilizzato per raccogliere dati e manipolare le attività dei nostri servizi. In base ad esse, per esempio, si possono trovare tutti gli utenti che vivono in una certa zona d’Italia o che comprano un determinato prodotto per modificare le loro UX in modo personalizzato. 

  • Remote config: serve per cambiare al volo l’aspetto e i comportamenti dell’applicativo; possono essere quindi utilizzati insieme alle Predictions per personalizzare l’esperienza utente in base ai dati raccolti. 

  • Analytics: consentono di censire dati specifici per studio e analisi approfondite di mercato: vedere i prodotti più visualizzati, registrare gli articoli e le news più chiaccherate, ecc… 

 

Manutenzione 

Per finire vediamo come Firebase aiuta a mantenere alta la qualità dei nostri prodotti. 

Crashlytics e il Performance Monitoring servono ad individuare bug, crash e elementi del software che rallentano l’applicativo, permettendo agli sviluppatori di ricorrere subito alle fix necessarie per migliorare il prodotto. 

Abbiamo inoltre la possibilità di testare su Test Lab gli applicativi, eseguendo dei test automatizzati su dispositivi virtuali gestiti da Google, ed utilizzare un sistema di distribuzione privato per inviare l’applicazione ad una cerchia ristretta di utenti e gestirne i feedback prima di distribuirla sugli store ufficiali o portarla in produzione. 

 

Applicazioni in vero stile Google

Firebase ci dà la possibilità di creare applicazioni in maniera rapida e scalabile, in vero stile Google. 

Il team di sviluppo mobile di Certimeter Group ha sviluppato importanti competenze sulla piattaforma Firebase che è stata implementata in molteplici progetti portati avanti con la soddisfazione del cliente; ci ha dato la possibilità di creare delle chat in vero stile Whatsapp, e di utilizzare un’architettura in grado di mantenere i dati all’interno dell’applicazione costantemente aggiornati. 

 

Google, ancora una volta, viene incontro agli sviluppatori di tutto il mondo, dando in mano ad essi uno strumento potentissimo come Firebase, che con tutti i suoi tools permette di rendere i software ancora più potenti e complessi. 

Articoli correlati

Software

Articoli in evidenza

Approfondimenti

UNISCITI A NOI. INVIA LA TUA CANDIDATURA

Certimeter Group crede nei valori, nella passione e nella professionalità delle persone.