Sommario[Nascondere][Spettacolo]
Backend-as-a-Service (BaaS) è un paradigma di servizio in cui gli sviluppatori esternalizzano i componenti dietro le quinte dello sviluppo web o mobile in modo che possano concentrarsi sulla creazione e la manutenzione del frontend su base plug-and-play e sfuggire all'onere di scrivere codice lato server.
Il software che supporta attività lato server come autenticazione, amministrazione del database, aggiornamento in tempo reale, archiviazione, hosting e avvisi push è fornito dalle piattaforme BaaS (per app mobili).
Anche se vari servizi di back-end forniscono fondamentalmente la stessa soluzione, utilizzano tecnologie di back-end distinte. Questo è un fattore decisivo per molti sviluppatori nella scelta del miglior servizio per un determinato progetto.
In questo articolo, approfondiremo Supabase.
Che cosa è l' supabase?
supabase è un'alternativa Firebase open source che offre Backend as a Service per una varietà di applicazioni. È davvero semplice da configurare e funziona rapidamente con una varietà di framework. Supabase si autodefinisce un sostituto open source di Firebase.
Intende favorire gli sviluppatori nella configurazione rapida del loro back-end. "Costruisci in un fine settimana, cresce fino a milioni", afferma Supabase.
I prodotti Supabase includono un database Postgres e un servizio di autenticazione, con servizi di storage e serverless (per la logica di back-end) ancora in lavorazione. Tutti i suoi strumenti sono per lo più gratuiti e open source. Il database Postgres include strumenti relativi al database, come il monitoraggio in tempo reale delle modifiche al database e un'interfaccia di gestione.
Inoltre, fornisce API rapide e sintassi paragonabili a quelle di Firebase. Ciò ti consente di gestire le attività CRUD in modo coerente, consentendoti di concentrarti sulla creazione anziché sulla riscrittura del codice CRUD ripetuto.
Il database di Postgres è una tabella che ti consente di archiviare dati organizzati e collegati come faresti in un foglio di calcolo. Sorprendentemente, quando crei un progetto, puoi utilizzare un foglio di calcolo esistente come database Postgres.
Come funziona Supabase?
Supabase è una raccolta di tecnologie di origine gratuita. Stanno creando funzionalità Firebase con soluzioni open source di livello aziendale. Se gli strumenti e le comunità sono disponibili con un MIT, Apache 2 o una licenza aperta comparabile, li utilizzeranno e li supporteranno.
Se lo strumento non esiste già, lo creano e lo rendono disponibile come open-source. Supabase non è una mappatura 1:1 di Firebase. Il loro obiettivo è fornire agli sviluppatori un'esperienza di sviluppo simile a Firebase open source tecnologie.
Supabase è una piattaforma che è ospitata. Puoi registrarti e iniziare a usarlo senza dover installare nulla. Puoi anche ospitare autonomamente e creare sul tuo server.
- PostgreSQL ha un'ottima reputazione per stabilità, robustezza delle funzionalità e velocità; Dopo oltre 30 anni di sviluppo attivo,
- Realtime è un server Elixir che ti consente di ascoltare inserimenti, aggiornamenti ed eliminazioni di PostgreSQL utilizzando WebSocket. Supabase ascolta le richieste di replica da Postgres, converte il flusso di byte di replica in JSON e quindi trasmette il JSON tramite WebSocket.
- PostgREST è un server web che converte il tuo database PostgreSQL in un'API RESTful.
- Lo storage fornisce un'interfaccia RESTful per la gestione dei file archiviati in S3, con Postgres come gestore dei diritti.
- Postgres-meta è un'API RESTful per l'amministrazione di Postgres che ti consente di scaricare tabelle, assegnare responsabilità e condurre query, tra le altre cose.
- GoTrue è un'API basata su SWT che consente di gestire gli utenti ed emettere token SWT.
- Kong è un gateway API che funziona nel cloud.
Per iniziare
1. Progetto
In Supabase, un progetto è un contenitore per tutti i database, gli utenti di autenticazione, le regole, le tabelle e l'archiviazione di file.
Esistono diversi posti da cui ospitare il tuo progetto e gli amministratori di Supabase aggiungono costantemente nuovi siti per ridurre la latenza. La creazione di un progetto richiede circa 2 minuti, quindi prendi un caffè, siediti e rilassati.
2. Dashboard del progetto
Al termine del progetto, ti verrà presentata una dashboard simile a quella mostrata di seguito. Questa dashboard mostra tutto ciò che devi sapere sul tuo progetto, comprese le connessioni al database, le richieste di autenticazione, la capacità di archiviazione, l'implementazione della libreria client e altro ancora.
3. Creatore ed editore di tabelle
Il database di Supabase è un PostgreSQL relazionale con funzionalità in tempo reale e controllo dell'accesso alle policy utilizzando Postgres RLS (Row Level Security). Gli sviluppatori possono utilizzare il dashboard di Supabase per costruire una tabella e aggiungere colonne e proprietà. Gli sviluppatori possono modificare i dati direttamente dalla dashboard con Supabase.
4. Autenticazione
Google, GitHub, Facebook, Twitter, GitLab e altri provider di autenticazione sono disponibili su Supabase. Questi possono essere attivati utilizzando il pannello di autenticazione. Supporta anche Phone OTP e Magic Link Authentication.
5. Conservazione
Supabase è un sistema di archiviazione di oggetti open source in grado di gestire qualsiasi tipo di file e ha una scalabilità integrata. Ha un'API facile da usare che abilita regole e autorizzazioni personalizzate. L'integrazione CDN, così come l'autotrasformazione e l'ottimizzazione (ridimensionamento e compressione del materiale), saranno disponibili a breve. Lo storage Supabase sarà un formidabile rivale dello storage Firebase con l'inclusione di queste funzionalità.
Cosa puoi costruire con Supabase? (Qualche esempio)
1. Pagamento dell'abbonamento con Supabase + Stripe + Next.js.
Il set di base completo per app SaaS ad alte prestazioni.
- Supabase fornisce l'amministrazione e l'autenticazione sicure degli utenti.
- Stripe Checkout e l'integrazione del portale clienti Stripe.
- Supabase fornisce potenti strumenti di accesso e gestione ai dati su PostgreSQL.
- I webhook Stripe consentono la sincronizzazione automatica dei piani tariffari e degli stati degli abbonamenti.
2. Mantieni Link: Semplice servizio di bookmark con tag e archivio
KeepLink è un servizio di segnalibri di base con tag e un archivio creato con Supabase e Next.js. Non ha funzionalità di condivisione social, ma puoi ospitare la tua istanza.
- Contrassegna automaticamente i nuovi segnalibri in base ai tag esistenti.
- La ricerca fulltext di URL, titoli, descrizioni, tag e contenuto dell'archivio grazie allo stack Supabase, alla codifica degli alias per i database di amministrazione e all'accesso riposante alle API è ora possibile.
- Con metascraper, puoi raccogliere automaticamente titoli e descrizioni per le tue pagine. Puoi anche archiviare le tue pagine con SinglePage e Headless Chrome.
3. App di chat in tempo reale con Supabase + Reagire
- Per la messaggistica in tempo reale, viene utilizzato Supabase (oltre a PostgreSQL).
- Il front-end utilizza React (CRA) + Vite
- La libreria UI utilizzata è Chakra UI.
Caratteristiche principali
Ecco alcune delle caratteristiche di Supabase:
- Un dashboard/interfaccia utente per configurare e amministrare il database in meno di un minuto.
- Per registrare gli utenti e aggiornare le restrizioni di accesso al database, applica l'autenticazione utente.
- API e una libreria JavaScript.
- Listener di database in tempo reale.
- Le funzioni (un po'). Si tratta di stored procedure di database che possono essere scritte in SQL, JavaScript, Python o Java.
Vantaggi
Supabase si distingue per i seguenti motivi:
- A differenza di Firebase, puoi eseguire query complicate o ricerche di testo.
- Supabase si occupa del ridimensionamento per te (anche se utilizza un database SQL)
- La migrazione dei dati è semplice con Supabase poiché sfrutta PostgreSQL e puoi importare i dati utilizzando un file.sql.
Svantaggi
Ci sono alcuni svantaggi nell'adozione di Supabase. Sono i seguenti:
- Per ricevere le modifiche in tempo reale, è necessario attivare la funzionalità di replica per una tabella.
- Quando gli aggiornamenti in tempo reale sono abilitati, le politiche di sicurezza di Supabase non si applicano.
- Le funzionalità sono limitate.
- Il suo SDK funziona solo con JavaScript (il supporto per altre lingue è ancora in versione beta)
Prezzi
1. Piano gratuito
- Database con 500 MB di spazio di archiviazione e chiamate API illimitate
- Autenticazione: fino a 10,000 utenti
- Archiviazione file: fino a 1 GB di spazio di archiviazione, con limitazioni di trasferimento mensili fino a 2 GB.
2. Paga in base al consumo
- Database: $ 0.125 per GB di spazio di archiviazione, senza limiti alle chiamate API
- Aut: illimitato
- Archiviazione file: dati archiviati $ 0.021 per GB con trasferimento dati di $ 0.07/GB
Per ulteriori informazioni sui prezzi, puoi controllare il loro sito web.
Conclusione
Supabase è il miglior open source alternativa a Firebase di Google. Grazie alla potenza di PostgreSQL, offre varie caratteristiche straordinarie e non ha limitazioni sul tipo di dati come altri sistemi di database in tempo reale.
Puoi creare una varietà di app utilizzando Supabase e le sue eccellenti funzionalità. Provalo oggi!
Marcelo
Nel caso di un SaaS B2B, è possibile avere 1 utente master per cliente e altri N utenti correlati a questo master che si occupano solo dei dati di questo cliente?