Caratteristiche, funzionamento e utilizzi di Firebase in informatica

Caratteristiche, funzionamento e utilizzi di Firebase in informatica

Firebase

Firebase è un BaaS (BackEnd as a Service) di proprietà di Google: un Baas è un modello per fornire a sviluppatori di app web o mobili un modo per collegare le loro applicazioni a un backend cloud storage e API (interfacce di programmazione di un’applicazione) esposte da applicazioni backend, fornendo allo stesso tempo funzioni quali la gestione degli utenti, le notifiche push, e l’integrazione con servizi di social networking. Questi servizi sono forniti attraverso l’uso di kit di sviluppo software personalizzato (SDK) e interfacce di programmazione delle applicazioni (APIs).

Applicazioni web e mobile richiedono un analogo insieme di funzionalità sul backend, comprese le notifiche push, l’integrazione con i social network e il cloud storage. Ognuno di questi servizi ha la propria API che deve essere incorporata singolarmente nell’app, è ciò può richiedere molto tempo per gli sviluppatori di applicazioni. I provider di BaaS formano un ponte tra il frontend di un’applicazione e i vari cloud-based backends tramite una API unificata e le SDK(pacchetto di sviluppo per applicazioni). Fornendo questo tipo di gestione dei dati di backend gli sviluppatori non hanno bisogno di sviluppare il backend per ognuno dei servizi di cui l’applicazione ha bisogno, in questo modo viene risparmiato tempo e denaro.

Caratteristiche, funzionamento e utilizzi di Firebase in informatica

Caratteristiche e componenti di Firebase

Firebase dunque è una piattaforma per lo sviluppo di applicazioni web e mobili che non ha bisogno di un linguaggio di programmazione server side.

Caratteristiche non trascurabili di Firebase sono:

  1. capacità di sincronizzazione dati (e aggiornamento istantaneo), oltre che di storage;
  2. diverse librerie client per far integrare Firebase con ogni app Android, JavaScript, Java e con sistemi Apple: per tutte le più comuni tecnologie web e mobile esistono librerie già pronte per essere importate nei propri progetti;
  3. i dati in Firebase sono replicati e sottoposti a backup continuamente. La comunicazione con il client avviene sempre in modalità crittografata tramite SSL con certificati a 2048-bit;
  4. è possibile usufruire di piani con costi differenti. Il piano gratuito è quello utilizzato in questo caso di studio.

Inoltre Firebase si compone di diversi strumenti che semplificano il lavoro del programmatore, che di seguito sono elencati:

  • Firebase Authentication
  • Firebase Realtime Database
  • Firebase Storage
  • Firebase Functions
  • Push Notification
  • Firebase Analytics
  • Firebase Cloud Messaging
  • Firebase Hosting
  • Firebase Test Lab for Android
  • Firebase Crash Reporting
  • Firebase Notification
  • Firebase App Indexing
  • Firebase Dynamic Link
  • Firebase Invites
  • Firebase Adwords

tra questi verranno trattati i primi tre nell’elenco, in quanto sono quelli principali utilizzati per sviluppare le applicazioni e che sono immediatamente disponibili con il piano di pagamento gratuito.

Firebase Authentication

Firebase Authentication permette di implementare funzioni di autenticazione degli utenti nell’applicazione attraverso l’uso di passwords, numeri di telefono, o identity providers come Google, Facebook, Twitter e altri. Utilizzando la SDK di Firebase Authentication è possibile integrare manualmente uno o più metodi di sign-in nella propria app.

Firebase Realtime Database

Realtime Database è un database NoSQL cloud-hosted. In quanto NoSQL ha diverse ottimizzazioni e funzionalità rispetto ad un database relazionale.

L’API di Realtime Database è disegnata per permettere solamente operazioni che possano essere eseguite rapidamente. Questo fa sì che pur avendo milioni di utenti attivi sull’applicazione, non ci siano problemi di responsività.

Realtime Database utilizza la sincronizzazione dei dati invece delle solite richieste HTTP. In questo modo ogni volta che i dati vengono modificati, il client connesso riceve tali cambiamenti istantaneamente.

I dati vengono sincronizzati attraverso i clients in realtime, e rimangono disponibili anche se l’applicazione va offline; nel momento in cui la connessione riprende, la funzione di sincronizzazione del Realtime Database provvede tutti i file mancanti al client, cosa molto importante per la stabilità del lavoro svolto dall’applicazione.

Firebase Cloud Storage

Cloud Storage è un servizio di storage. Le SDK di Firebase per Cloud Storage fanno sì che le operazioni di upload e download dei file vengano eseguite secondo i criteri di sicurezza di Google. Grazie ad esse è possibile immagazzinare immagini, audio, video e altri contenuti user-generated direttamente da client.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *