Nel panorama dello sviluppo Web, la necessità di piattaforme robuste e flessibili è sempre più evidente. Firebase di Google ha dominato la scena per anni ma Supabase si staglia all'orizzonte come una valida alternativa, peraltro di tipo open source. Al centro di Supabase c'è un database PostgreSQL ma accanto ad esso prende vita un ecosistema completo di funzionalità essenziali per la realizzazione di applicazioni Web e mobili.
Supabase è un'alternativa open source a Firebase che mette a disposizione un'interfaccia intuitiva per interagire con i dati, senza la necessità di scrivere codice. Un approccio che semplifica l'utilizzo dei database, rendendoli accessibile anche a coloro che non hanno conoscenze tecniche approfondite. Il software si occupa delle attività complesse "dietro le quinte", gestendo l'infrastruttura e la scalabilità.
Gli sviluppatori di Supabase mette a disposizione SDK e librerie per il Web, utilizzabili con qualsiasi framework, come React, Svelte, Vue e Angular. Per il mondo "mobile", Supabase fornisce librerie per React Native, Flutter, Python, C# e Kotlin. Questa versatilità risulta particolarmente interessante per le applicazioni native Android, che spesso utilizzano Firebase.
Grazie a Supabase, i programmatori possono gestire l'autenticazione e l'autorizzazione degli utenti con facilità, grazie a una potente API basata su JWT (JSON Web Tokens). La piattaforma dà inoltre la possibilità di generare API RESTful e GraphQL in modo automatico per interagire con i propri database.
Come creare un database compatibile S3 con Supabase
Uno dei punti di forza di Supabase è che gli utenti possono essere informati in tempo reale sulle modifiche al database, grazie a sistema basato sull'utilizzo dei Websockets. Il programmatore e il DBA (Database Administrator) possono quindi non soltanto monitorare gli eventi in tempo reale, ma sono in grado di eseguire funzioni personalizzate sia nel database che a livello di edge.
I responsabili del progetto Supabase hanno inoltre appena annunciato una grande novità: la piattaforma diventa compatibile S3, ovvero può memorizzare informazioni utilizzano un approccio sovrapponibile con quello introdotto da Amazon AWS per lo storage dei dati.
Da oggi, quindi, gli utenti possono servirsi di qualsiasi client S3 per interagire con le basi di dati Supabase. È possibile quindi servirsi del client ufficiale AWS basato su riga di comando (CLI), del noto programma rclone, di Cyberduck, un browser per l'archiviazione cloud destinato a Windows e macOS oppure adottare qualsiasi altro strumento compatibile con S3.
L'autenticazione avviene mediante una coppia di chiavi generabili attraverso la pagina di impostazione dello storage. Le stesse credenziali possono essere eventualmente revocate in qualunque momento. Questa pagina contiene maggiori informazioni sulla compatibilità S3 appena attivata.
Accedere all'utilizzo di un database aperto con Supabase
Ciò che rende Supabase veramente rivoluzionario è il suo approccio aperto. Il software si serve di strumenti open source di grado enterprise per offrire un'esperienza simile a quella di Firebase, ma senza vincoli.
Supabase non è solo una piattaforma, è una comunità. Con una vasta gamma di client libraries per molti linguaggi di programmazione, sa adattarsi alle esigenze di ogni singolo sviluppatore, professionista e realtà azienda, indipendentemente dalla tecnologia preferita.
Il repository GitHub consente di accedere al codice sorgente di Supabase nella sua interezza, con la possibilità quindi di ospitare in locale la piattaforma e di sviluppare al di sopra di essa, senza alcuna limitazione.
Ovviamente esistono anche dei piani a pagamento fruibili e accessibili tramite cloud: quello free, ad esempio, permette di gestire database da 500 MB di capienza massima, con la possibilità di effettuare un numero illimitato di richieste API. I progetti "free" sono comunque automaticamente messi in pausa dopo una settimana di inattività.
In definitiva, Supabase sta aprendo nuove opportunità nello sviluppo web, rimuovendo il vendor lock-in e offrendo agli sviluppatori la libertà di creare senza limiti.