Supabase - Backend come servizio

Un'alternativa veramente open source a Firebase

Supabase, una suite di backend ricca di funzionalità

Se pensi di aver letto male il titolo e che ho fatto un errore di battitura ma intendo "Firebase", in realtà sei più vicino all'argomento di questo articolo di quanto tu possa pensare. Supabase è un insieme di funzionalità di backend che ti consente di gestire il tuo backend come servizio. Il suo set di funzionalità è abbastanza simile a quello di Firebase, un prodotto di Google che si basa su "Google Cloud Platform" e ti consente di eseguire anche un backend-as-a-service.

L'alternativa Firebase

Poiché sia Supabase che Firebase hanno un'intersezione così ampia di funzionalità principali, Supabase può essere considerato un'alternativa a Firebase. Le funzionalità fornite sono le seguenti.

  • gestione dell'autenticazione
  • database per l'archiviazione persistente
  • un archivio di risorse per file, come immagini, video o documenti
  • funzioni serverless, ma non sono ancora disponibili

Come puoi vedere, le funzionalità più importanti sono fornite da Supabase, con funzioni serverless in arrivo in futuro. Puoi utilizzare il servizio in hosting di Supabase e iniziare a funzionare in pochi minuti con il piano gratuito. Per un utilizzo più intenso, puoi ovviamente passare a un piano a pagamento.

Supabase offre anche le opzioni per utilizzare una configurazione locale da testare durante lo sviluppo tramite la loro CLI. Ciò significa effettivamente che viene fornito con ambienti di staging e produzione integrati da configurare: staging in locale, produzione nel cloud. Ovviamente questo è abbastanza semplificato, ma volevo sottolineare che offre una CLI per il test locale completo, il che è fantastico.

Differenza tra Supabase e Firebase

Sebbene condividano un insieme comune di funzionalità, sia le loro implementazioni che la strategia di sviluppo differiscono molto da Firebase di Google. Innanzitutto, Supabase è sviluppato completamente open source, il che significa che puoi contribuire praticamente a ogni aspetto del progetto. Firebase ha solo i suoi client e admin-SDK disponibili come soluzioni open source, con l'effettiva implementazione del servizio nascosta.

L'approccio aperto di Supabase ha l'effetto collaterale di poterlo ospitare da soli, nella propria infrastruttura. Questo è un enorme vantaggio rispetto a Firebase, poiché hai la possibilità di creare un fork e sviluppare il tuo servizio personalizzato, se necessario. Questo è un aspetto importante quando si considera la longevità di un componente così fondamentale del prodotto.

Un'altra differenza molto importante è che Supabase utilizza PostgreSQL invece di un database NoSQL come Firebase. Anche questa è un'enorme differenza considerando che Firestore, il database Firebase, è completamente proprietario. PostgreSQL è una soluzione di archiviazione comune che ti consente tecnicamente di migrare via con i tuoi dati da Supabase in futuro a qualsiasi altro database PostgreSQL.

Per quanto riguarda gli altri servizi offerti da Firebase, come le notifiche o le soluzioni ML, Supabase non ha nulla di simile. Avrai comunque bisogno di altri provider per distribuire tali cose, ad esempio da AWS, Azure o, ovviamente, Firebase.

Conclusione

Come vedi, Supabase è una valida alternativa se ti piace ciò che Firebase ha da offrire ma non vuoi utilizzare un prodotto Google. E se hai dubbi sulle future migrazioni del database o sul codice proprietario dei servizi di Firebase, Supabase è completamente trasparente nel suo sviluppo come prodotto open source. Al momento della scrittura, è in beta pubblica, ma dovrebbe essere pronto per l'uso per progetti di dimensioni moderate.