Inhoudsopgave[Zich verstoppen][Laten zien]
Backend-as-a-Service (BaaS) is een serviceparadigma waarin ontwikkelaars de componenten achter de schermen van web- of mobiele ontwikkeling uitbesteden, zodat ze zich kunnen concentreren op het bouwen en onderhouden van de frontend op een plug-and-play-basis en ontsnap aan de last van het schrijven van server-side code.
Software die servertaken ondersteunt, zoals authenticatie, databasebeheer, realtime updates, opslag, hosting en pushmeldingen, wordt geleverd door BaaS-platforms (voor mobiele apps).
Hoewel verschillende backend-services in wezen dezelfde oplossing bieden, gebruiken ze verschillende backend-technologieën. Dit is voor veel ontwikkelaars een doorslaggevende factor bij het kiezen van de beste service voor een bepaald project.
In dit artikel gaan we dieper in op Supabase.
Wat is supabase?
supabase is een open-source Firebase-alternatief dat Backend as a Service biedt voor een verscheidenheid aan applicaties. Het is heel eenvoudig in te stellen en werkt snel met een verscheidenheid aan frameworks. Supabase factureert zichzelf als een open-source vervanger voor Firebase.
Het is bedoeld om ontwikkelaars te helpen bij het snel opzetten van hun backend. “Bouw een weekend in, groei uit tot miljoenen”, zegt Supabase.
Supabase-producten omvatten een Postgres-database en authenticatieservice, met opslag en serverloze services (voor backend-logica) die nog in de maak zijn. Al zijn tools zijn meestal gratis en open-source. De Postgres-database bevat databasegerelateerde tools, zoals realtime monitoring van databasewijzigingen en een beheerinterface.
Bovendien biedt het snelle API's en syntaxis die vergelijkbaar zijn met die van Firebase. Hierdoor kunt u CRUD-taken op een consistente manier afhandelen, zodat u zich kunt concentreren op het maken in plaats van het herschrijven van herhalende CRUD-code.
De Postgres-database is een tabel waarmee u georganiseerde en verbonden gegevens op dezelfde manier kunt opslaan als in een spreadsheet. Verrassend genoeg kunt u bij het maken van een project een bestaande spreadsheet als uw Postgres-database gebruiken.
Hoe werkt Supabase?
Supabase is een verzameling gratis brontechnologieën. Ze creëren Firebase-functies met open-sourceoplossingen op ondernemingsniveau. Als de tools en communities beschikbaar zijn onder een MIT, Apache 2 of vergelijkbare open licentie, zullen ze deze gebruiken en ondersteunen.
Als de tool nog niet bestaat, wordt deze gemaakt en beschikbaar gesteld als open source. Supabase is geen 1:1 mapping van Firebase. Hun doel is om ontwikkelaars een Firebase-achtige ontwikkelervaring te bieden met behulp van open source technologieën.
Supabase is een platform dat wordt gehost. U kunt zich aanmelden en het gaan gebruiken zonder iets te hoeven installeren. U kunt ook zelf hosten en bouwen op uw eigen server.
- PostgreSQL heeft een uitstekende reputatie op het gebied van stabiliteit, robuustheid van functies en snelheid; Na meer dan 30 jaar actieve ontwikkeling,
- Realtime is een Elixir-server waarmee u kunt luisteren naar PostgreSQL-inserts, -updates en -verwijderingen met behulp van WebSockets. Supabase luistert naar replicatieverzoeken van Postgres, converteert de replicatiebytestream naar JSON en zendt de JSON vervolgens uit via WebSockets.
- PostgREST is een webserver die uw PostgreSQL-database omzet in een RESTful API.
- Opslag biedt een REST-interface voor het beheren van bestanden die zijn opgeslagen in S3, met Postgres als rechtenbeheerder.
- Postgres-meta is een RESTful API voor het beheer van Postgres waarmee u onder andere tabellen kunt downloaden, verantwoordelijkheden kunt toewijzen en query's kunt uitvoeren.
- GoTrue is een op SWT gebaseerde API waarmee u gebruikers kunt beheren en SWT-tokens kunt uitgeven.
- Kong is een API-gateway die in de cloud draait.
Aan de slag
1. Projecteren
In Supabase is een project een container voor al uw databases, authenticatiegebruikers, regels, tabellen en bestandsopslag.
Er zijn verschillende plaatsen waar u uw project kunt hosten en Supabase-beheerders voegen voortdurend nieuwe sites toe om de latentie te verminderen. Een project duurt ongeveer 2 minuten om te maken, dus neem een kopje koffie, leun achterover en ontspan.
2. Projectdashboard
Wanneer uw project is voltooid, krijgt u een dashboard te zien dat lijkt op het onderstaande dashboard. Dit dashboard toont u alles wat u moet weten over uw project, inclusief databaseverbindingen, authenticatieverzoeken, opslagcapaciteit, implementatie van clientbibliotheek en meer.
3. Tabelmaker en -editor
De database van Supabase is een relationele PostgreSQL met realtime mogelijkheden en toegangscontrole voor beleid met behulp van Postgres RLS (Row Level Security). Ontwikkelaars kunnen het dashboard van Supabase gebruiken om een tabel te construeren en kolommen en eigenschappen toe te voegen. Ontwikkelaars kunnen met Supabase gegevens rechtstreeks vanuit het dashboard wijzigen.
4. authenticatie
Google, GitHub, Facebook, Twitter, GitLab en meer authenticatieproviders zijn beschikbaar op Supabase. Deze kunnen worden ingeschakeld met behulp van het verificatiepaneel. Het ondersteunt ook Phone OTP en Magic Link Authentication.
5. opslagruimte
Supabase is een open-source objectopslagsysteem dat elk bestandstype aankan en ingebouwde schaalbaarheid heeft. Het heeft een gebruiksvriendelijke API die aangepaste regels en machtigingen mogelijk maakt. CDN-integratie, evenals automatische transformatie en optimalisatie (het formaat van uw materiaal wijzigen en comprimeren), zullen binnenkort beschikbaar zijn. Supabase-opslag zal een formidabele rivaal zijn voor Firebase-opslag met de opname van deze mogelijkheden.
Wat kunt u bouwen met Supabase? (Een paar voorbeelden)
1. Abonnement betaling met Supabase + Stripe + Next.js.
De complete startersset voor krachtige SaaS-apps.
- Supabase zorgt voor veilig gebruikersbeheer en authenticatie.
- Stripe Checkout en de integratie van het Stripe-klantportaal.
- Supabase biedt krachtige tools voor gegevenstoegang en -beheer bovenop PostgreSQL.
- Stripe-webhooks maken automatische synchronisatie van prijsplannen en abonnementsstatussen mogelijk.
2. HoudLink: Eenvoudige bladwijzerservice met tags en archief
KeepLink is een basisbladwijzerservice met tags en een archief gebouwd met Supabase en Next.js. Het heeft geen functies voor sociaal delen, maar u kunt uw eigen exemplaar hosten.
- Tag automatisch nieuwe bladwijzers op basis van bestaande tags.
- Fulltext zoeken naar URL's, titels, beschrijvingen, tags en archiefinhoud dankzij de Supabase-stack, het taggen van aliassen voor beheerdersdatabases en rustgevende API-toegang is nu mogelijk.
- Met metascraper kunt u automatisch titels en beschrijvingen voor uw pagina's verzamelen. U kunt uw pagina's ook archiveren met SinglePage en Headless Chrome.
3. Realtime chat-app met Supabase + React
- Voor realtime messaging wordt Supabase (bovenop PostgreSQL) gebruikt.
- Front-end gebruikt React (CRA) + Vite
- De gebruikte UI-bibliotheek is Chakra UI.
Belangrijkste kenmerken
Hier zijn enkele van de kenmerken van Supabase:
- Een dashboard/gebruikersinterface voor het opzetten en beheren van uw database in minder dan een minuut.
- Pas gebruikersauthenticatie toe om gebruikers aan te melden en toegangsbeperkingen in uw database bij te werken.
- API's en een JavaScript-bibliotheek.
- Database-luisteraars in realtime.
- De functies (een beetje). Dit zijn in de database opgeslagen procedures die kunnen zijn geschreven in SQL, JavaScript, Python of Java.
VOORDELEN
Supabase onderscheidt zich om de volgende redenen:
- In tegenstelling tot Firebase kunt u ingewikkelde zoekopdrachten of tekstzoekopdrachten uitvoeren.
- Supabase regelt de scaling voor je (ook al gebruikt het een SQL database)
- Gegevensmigratie is eenvoudig met Supabase omdat het gebruikmaakt van PostgreSQL, en u kunt gegevens importeren met behulp van een.sql-bestand.
NADELEN
Er zijn enkele nadelen aan het adopteren van Supabase. Ze zijn als volgt:
- Om realtime wijzigingen te ontvangen, moet u de replicatiefunctionaliteit voor een tabel activeren.
- Wanneer realtime updates zijn ingeschakeld, is het beveiligingsbeleid van Supabase niet van toepassing.
- Functies zijn beperkt.
- De SDK werkt alleen met JavaScript (ondersteuning voor andere talen is nog in bèta)
Prijzen
1. Gratis niveau
- Database met 500 MB opslagruimte en onbeperkte API-aanroepen
- Authenticatie – tot 10,000 gebruikers
- Bestandsopslag – Tot 1 GB opslagruimte, met maandelijkse overdrachtsbeperkingen tot 2 GB.
2. Betaal naar gebruik
- Database - $ 0.125 per GB opslagruimte, zonder limieten voor API-aanroepen
- Auth – Onbeperkt
- Bestandsopslag - Gegevens opgeslagen $ 0.021 per GB met gegevensoverdracht van $ 0.07/GB
Voor meer prijsinformatie, kunt u hun website bekijken.
Conclusie
Supabase is de beste open source alternatief voor Firebase van Google. Vanwege de kracht van PostgreSQL biedt het verschillende opmerkelijke functies en heeft het geen beperkingen voor gegevenstypes zoals andere realtime databasesystemen.
U kunt een verscheidenheid aan apps maken met Supabase en zijn uitstekende functies. Probeer het vandaag nog!
Marcelo
Is het in het geval van een B2B SaaS mogelijk om 1 hoofdgebruiker per klant te hebben en andere N gebruikers gerelateerd aan deze hoofdgebruiker die alleen gegevens van deze klant verwerken?