Firebase: introduzione e funzionalità

16 gennaio 2015

Firebase è un potente servizio on line che permette di salvare e sincronizzare i dati elaborati da applicazioni web e mobile. Si tratta di un database NoSQL dalle grandissime risorse, ad alta disponibilità ed integrabile in tempi rapidissimi in altri progetti software, semplicemente sottoscrivendo un account al servizio. Questo articolo ne presenta le caratteristiche e mostra i passi necessari da compiere per iniziare ad utilizzarlo subito.

I backend: finalità e difficoltà realizzative

Firebase rientra in una categoria di servizi on-line in rapidissima diffusione e noti come backend, la cui necessità è divenuta sempre più evidente negli ultimi anni. Le crescenti capacità di dispositivi e sistemi operativi mobili, insieme alle connessioni in rete sempre più diffuse e veloci hanno offerto nuovi strumenti alla fantasia degli sviluppatori. In questo contesto le nuove applicazioni tengono ad essere sempre meno “chiuse” nei dispositivi, e maggiormente capaci di interagire con servizi remoti creando reti “social” di utenti.

Per consentire il funzionamento di tutto ciò, è necessaria una controparte server in grado di rendere disponibili, tramite API, servizi quali autenticazione, storage dei dati, push notification, comunicazione tra utenti e molto altro: i backend, appunto.

La creazione di un backend per conto proprio può portare gli sviluppatori ad incontrare delle difficoltà di vario genere. Innanzitutto di carattere tecnico: i programmatori potrebbero non avere le competenze e l’esperienza necessarie in ambito server per realizzare un backend di qualità, sicuro ed efficiente. Inoltre potrebbero esservi difficoltà organizzative, per esempio nel conciliare tempistiche e risorse umane coinvolte nello sviluppo delle componenti server e client.

Esistono, infine, problematiche di carattere infrastrutturale. Viviamo nell’epoca del Cloud, delle risorse e delle funzionalità offerte “as a service”, in cui senza avere a disposizione proprie macchine fisiche o virtuali si possono trovare servizi in rete che offrono elaborazione e storage in maniera affidabile, flessibile e con costi contenuti.

In casi in cui si richiede un backend per la propria app mobile o web ma si vogliono evitare difficoltà come quelle appena citate, si può fare affidamento ad un servizio online, offerto in cloud e già pronto all’interazione con i nostri software: Firebase è uno di questi.

Introduzione a Firebase

Nel mese di ottobre 2014 un comunicato apparso sul sito ufficiale del progetto a firma di James Tamplin, CEO e cofondatore, annunciava che Firebase entrava a fare parte dei servizi Google. L’acquisizione, di cui non sono stati rivelati i dettagli economici, permetterà a Firebase di crescere ben oltre le proprie possibilità e alla società di Mountain View di inserirlo nella Google Cloud Platform.

Tamplin stesso dichiarava nel post che in soli tre anni la sua “pazza idea che avrebbe potuto funzionare” si era trasformata in una realtà su cui 110.000 sviluppatori basavano il proprio lavoro.

Il successo di Firebase è legato indiscutibilmente alle sue caratteristiche peculiari:

  • capacità di sincronizzazione dei dati oltre che di storage: Firebase è in grado di aggiornare i dati istantaneamente, sia se integrato in app web che mobile. Non appena l’app recupera la connettività sicronizza i dati mostrati con le ultime modifiche apportate;
  • disponibilità di librerie client per integrare Firebase in ogni app. Android, Javascript e framework con esso realizzati (Node.js, Angular.js, Ember.js, Backbone.js e molti altri), Java e sistemi Apple: per tutte le più comuni tecnologie web e mobile esistono librerie già pronte per essere importate nei propri progetti;
  • API REST: rendono disponibili le funzionalità di Firebase per ogni tecnologia per cui non esistano librerie apposite o in caso di operazioni non contemplate in esse;
  • Sicurezza: i dati immagazzinati in Firebase sono replicati e sottoposti a backup continuamente. La comunicazione con i client avviene sempre in modalità crittografata tramite SSL con certificati a 2048-bit;
  • costi differenziati in base all’uso e alle capacità richiesti. Si parte dal “Hacker Plan”, gratuito, quello che useremo a breve per i nostri esempi. È sufficiente sottoscriverlo per avere a disposizione un massimo di 50 connessioni, 5 GB di trasferimento dati e 100 MB di storage. L’uso di questo piano gratuito è esclusivamente didattico e di sperimentazione ma utilissimo per imparare ad integrare Firebase nei propri progetti. Per contesti di produzione, esistono altri piani (Candle, Bonfire, Blaze, Inferno Plan) con prezzi mensili variabili da 49 $ fino a 1.499 $ e caratterizzati da capacità di memorizzazione crescenti.
  • Nel seguito dell’articolo vedremo come utilizzare Firebase, integrandone le funzionalità nello sviluppo dei nostri software.

    Se vuoi aggiornamenti su Firebase: introduzione e funzionalità inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Firebase: introduzione e funzionalità

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy