Innehållsförteckning[Dölj][Visa]
Backend-as-a-Service (BaaS) är ett tjänsteparadigm där utvecklare outsourcar komponenterna bakom kulisserna för webb- eller mobilutveckling så att de kan fokusera på att bygga och underhålla frontend på plug-and-play-basis och slippa bördan av att skriva kod på serversidan.
Programvara som stöder uppgifter på serversidan som autentisering, databasadministration, realtidsuppdatering, lagring, värd och push-varningar tillhandahålls av BaaS-plattformar (för mobilappar).
Även om olika backend-tjänster i grunden tillhandahåller samma lösning, använder de distinkta backend-teknologier. Detta är en avgörande faktor för många utvecklare när de ska välja den bästa tjänsten för ett visst projekt.
I den här artikeln kommer vi att djupdyka i Supabase.
Vad är Supabase?
Supabase är ett Firebase-alternativ med öppen källkod som erbjuder Backend as a Service till en mängd olika applikationer. Det är väldigt enkelt att installera och fungerar snabbt med en mängd olika ramverk. Supabase fakturerar sig själv som en öppen källkodsersättning för Firebase.
Det avser att gynna utvecklare genom att snabbt sätta upp sin backend. "Bygg in en helg, växa till miljoner", säger Supabase.
Supabase-produkter inkluderar en Postgres-databas och autentiseringstjänst, med lagrings- och serverlösa tjänster (för backend-logik) fortfarande på gång. Alla dess verktyg är mestadels gratis och öppen källkod. Postgres-databasen innehåller databasrelaterade verktyg, såsom realtidsövervakning av databasändringar och ett hanteringsgränssnitt.
Dessutom ger den snabba API:er och syntax som är jämförbara med Firebases. Detta gör att du kan hantera CRUD-uppgifter på ett konsekvent sätt, vilket gör att du kan fokusera på att skapa snarare än att skriva om upprepande CRUD-kod.
Postgres-databasen är en tabell som låter dig lagra organiserad och ansluten data på samma sätt som du skulle göra i ett kalkylblad. Överraskande nog, när du skapar ett projekt kan du använda ett befintligt kalkylblad som din Postgres-databas.
Hur fungerar Supabase?
Supabase är en samling gratis källteknologier. De skapar Firebase-funktioner med företagsklassade lösningar med öppen källkod. Om verktygen och gemenskaperna är tillgängliga under en MIT, Apache 2 eller jämförbar öppen licens kommer de att använda och stödja dem.
Om verktyget inte redan finns skapar de det och gör det tillgängligt som öppen källkod. Supabase är inte en 1:1-mappning av Firebase. Deras mål är att ge utvecklare en Firebase-liknande utvecklingsupplevelse med hjälp av öppen källkod teknik.
Supabase är en plattform som är värd. Du kan registrera dig och börja använda den utan att behöva installera något. Du kan också vara värd och bygga på din egen server.
- PostgreSQL har ett gott rykte för stabilitet, robusthet och snabbhet; Efter mer än 30 år av aktiv utveckling,
- Realtime är en Elixir-server som låter dig lyssna på PostgreSQL-inlägg, uppdateringar och raderingar med hjälp av WebSockets. Supabase lyssnar efter replikeringsförfrågningar från Postgres, konverterar replikeringsbyteströmmen till JSON och sänder sedan JSON genom WebSockets.
- PostgREST är en webbserver som konverterar din PostgreSQL-databas till ett RESTful API.
- Storage tillhandahåller ett RESTful-gränssnitt för att hantera filer lagrade i S3, med Postgres som rättighetshanterare.
- Postgres-meta är ett RESTful API för att administrera Postgres som låter dig ladda ner tabeller, tilldela ansvar och utföra frågor, bland annat.
- GoTrue är ett SWT-baserat API som låter dig hantera användare och utfärda SWT-tokens.
- Kong är en API-gateway som körs på molnet.
Komma igång
1. Projekt
I Supabase är ett projekt en behållare för alla dina databaser, autentiseringsanvändare, regler, tabeller och fillagring.
Det finns flera platser där du kan vara värd för ditt projekt, och Supabase-administratörer lägger ständigt till nya webbplatser för att minska latensen. Ett projekt tar cirka 2 minuter att skapa, så ta en kaffe, luta dig tillbaka och koppla av.
2. Projektinstrumentpanel
När ditt projekt är klart kommer du att presenteras med en instrumentpanel som liknar den som visas nedan. Den här instrumentpanelen visar dig allt du behöver veta om ditt projekt, inklusive databasanslutningar, autentiseringsförfrågningar, lagringskapacitet, implementering av klientbibliotek och mer.
3. Tabellskapare och redigerare
Supabases databas är en relationell PostgreSQL med realtidsfunktioner och policyåtkomstkontroll med Postgres RLS (Row Level Security). Utvecklare kan använda Supabases instrumentpanel för att skapa en tabell och lägga till kolumner och egenskaper. Utvecklare kan ändra data direkt från instrumentpanelen med Supabase.
4. Autentisering
Google, GitHub, Facebook, Twitter, GitLab och fler autentiseringsleverantörer är tillgängliga på Supabase. Dessa kan aktiveras med hjälp av autentiseringspanelen. Den stöder också telefon-OTP och Magic Link-autentisering.
5. Lagring
Supabase är ett objektlagringssystem med öppen källkod som kan hantera alla filtyper och har inbyggd skalbarhet. Den har ett lättanvänt API som möjliggör anpassade regler och behörigheter. CDN-integration, såväl som autotransformation och optimering (ändra storlek och komprimering av ditt material), kommer att finnas tillgängliga inom kort. Supabase-lagring kommer att vara en formidabel rival till Firebase-lagring med inkluderandet av dessa funktioner.
Vad kan du bygga med Supabase? (Några exempel)
1. Prenumerationsbetalning med Supabase + Stripe + Next.js.
Det kompletta startsetet för högpresterande SaaS-appar.
- Supabase tillhandahåller säker användaradministration och autentisering.
- Stripe Checkout och Stripe kundportalintegration.
- Supabase tillhandahåller kraftfulla dataåtkomst- och hanteringsverktyg ovanpå PostgreSQL.
- Stripe webhooks möjliggör automatisk synkronisering av prisplaner och prenumerationsstatusar.
2. KeepLink: Enkel bokmärkestjänst med taggar och arkiv
KeepLink är en grundläggande bokmärkestjänst med taggar och ett arkiv byggt med Supabase och Next.js. Den har inga sociala delningsfunktioner, men du kan vara värd för din egen instans.
- Tagga nya bokmärken automatiskt baserat på befintliga taggar.
- Fulltextsökning efter webbadresser, titlar, beskrivningar, taggar och arkivinnehåll tack vare Supabase-stacken, taggningsalias för administratörsdatabaser och vilsam API-åtkomst är nu möjligt.
- Med metascraper kan du automatiskt samla in titlar och beskrivningar för dina sidor. Du kan också arkivera dina sidor med SinglePage och Headless Chrome.
3. Chattapp i realtid med Supabase + React
- För meddelanden i realtid används Supabase (ovanpå PostgreSQL).
- Front-end använder React (CRA) + Vite
- UI-biblioteket som används är Chakra UI.
Funktioner
Här är några av funktionerna i Supabase:
- En instrumentpanel/användargränssnitt för att ställa in och administrera din databas på mindre än en minut.
- För att registrera användare och uppdatera åtkomstbegränsningar i din databas, tillämpa användarautentisering.
- API:er och ett JavaScript-bibliotek.
- Databaslyssnare i realtid.
- Funktionerna (typ). Dessa är databaslagrade procedurer som kan vara skrivna i SQL, JavaScript, Python eller Java.
Fördelar
Supabase utmärker sig av följande skäl:
- Till skillnad från Firebase kan du köra komplicerade frågor eller textsökningar.
- Supabase tar hand om skalningen åt dig (även om den använder en SQL-databas)
- Datamigrering är enkel med Supabase eftersom den utnyttjar PostgreSQL, och du kan importera data med en.sql-fil.
Nackdelar
Det finns några nackdelar med att använda Supabase. De är följande:
- För att ta emot ändringar i realtid måste du aktivera replikeringsfunktionen för en tabell.
- När realtidsuppdateringar är aktiverade gäller inte Supabases säkerhetspolicyer.
- Funktionerna är begränsade.
- Dess SDK fungerar bara med JavaScript (stöd för andra språk är fortfarande i beta)
Priser
1. Gratis nivå
- Databas med 500 MB lagringsutrymme och obegränsade API-anrop
- Autentisering – Upp till 10,000 XNUMX användare
- Fillagring – Upp till 1 GB lagringsutrymme, med månatliga överföringsbegränsningar på upp till 2 GB.
2. Betala när du går
- Databas – $0.125 per GB lagringsutrymme, utan begränsningar för API-anrop
- Auth – Obegränsad
- Fillagring – Data lagrad $0.021 per GB med dataöverföring på $0.07/GB
För mer prisinformation kan du kolla in deras hemsida.
Slutsats
Supabase är den bästa öppen källkod alternativ till Googles Firebase. På grund av PostgreSQL:s kraft erbjuder den olika anmärkningsvärda funktioner och har inga datatypbegränsningar som andra databassystem i realtid.
Du kan skapa en mängd olika appar med Supabase och dess utmärkta funktioner. Ge det ett försök idag!
Marcelo
I fallet med en B2B SaaS, är det möjligt att ha 1 huvudanvändare per kund och andra N användare relaterade till denna master som endast hanterar data från denna kund?