Innholdsfortegnelse[Gjemme seg][Forestilling]
Backend-as-a-Service (BaaS) er et tjenesteparadigme der utviklere outsourcer komponentene bak kulissene i web- eller mobilutvikling slik at de kan fokusere på å bygge og vedlikeholde frontend på plug-and-play-basis og unnslippe byrden med å skrive kode på serversiden.
Programvare som støtter serversideoppgaver som autentisering, databaseadministrasjon, sanntidsoppdatering, lagring, hosting og push-varsler leveres av BaaS-plattformer (for mobilapper).
Selv om ulike backend-tjenester i utgangspunktet gir den samme løsningen, bruker de distinkte backend-teknologier. Dette er en avgjørende faktor for mange utviklere når de skal velge den beste tjenesten for et bestemt prosjekt.
I denne artikkelen skal vi dykke dypt inn i Supabase.
Hva er Supabase?
Supabase er et Firebase-alternativ med åpen kildekode som tilbyr Backend as a Service til en rekke applikasjoner. Det er veldig enkelt å sette opp og fungerer raskt med en rekke rammer. Supabase fakturerer seg selv som en åpen kildekode-erstatning for Firebase.
Den har til hensikt å hjelpe utviklere ved å raskt sette opp backend. "Bygg inn en helg, voks til millioner," sier Supabase.
Supabase-produkter inkluderer en Postgres-database og autentiseringstjeneste, med lagrings- og serverløse tjenester (for backend-logikk) fortsatt i arbeid. Alle verktøyene er stort sett gratis og åpen kildekode. Postgres-databasen inkluderer databaserelaterte verktøy, som sanntidsovervåking av databasemodifikasjoner og et administrasjonsgrensesnitt.
Videre gir den raske APIer og syntaks som kan sammenlignes med Firebases. Dette lar deg håndtere CRUD-oppgaver på en konsekvent måte, slik at du kan fokusere på å lage i stedet for å omskrive gjentatt CRUD-kode.
Postgres-databasen er en tabell som lar deg lagre organiserte og tilkoblede data på samme måte som du ville gjort i et regneark. Overraskende nok, når du oppretter et prosjekt, kan du bruke et eksisterende regneark som din Postgres-database.
Hvordan fungerer Supabase?
Supabase er en samling av gratis kildeteknologier. De lager Firebase-funksjoner med åpen kildekodeløsninger i bedriftsklasse. Hvis verktøyene og fellesskapene er tilgjengelige under en MIT, Apache 2 eller tilsvarende åpen lisens, vil de bruke og støtte dem.
Hvis verktøyet ikke allerede eksisterer, oppretter de det og gjør det tilgjengelig som åpen kildekode. Supabase er ikke en 1:1-kartlegging av Firebase. Målet deres er å gi utviklere en Firebase-lignende utviklingsopplevelse ved å bruke åpen kildekode teknologier.
Supabase er en plattform som er vert. Du kan registrere deg og begynne å bruke den uten å måtte installere noe. Du kan også være vert for deg selv og bygge på din egen server.
- PostgreSQL har et godt rykte for stabilitet, funksjonsrobusthet og hastighet; Etter mer enn 30 år med aktiv utvikling,
- Realtime er en Elixir-server som lar deg lytte til PostgreSQL-innlegg, oppdateringer og slettinger ved hjelp av WebSockets. Supabase lytter etter replikeringsforespørsler fra Postgres, konverterer replikeringsbytestrømmen til JSON, og kringkaster deretter JSON gjennom WebSockets.
- PostgREST er en webserver som konverterer din PostgreSQL-database til en RESTful API.
- Lagring gir et RESTful-grensesnitt for å administrere filer som er lagret i S3, med Postgres som rettighetsbehandler.
- Postgres-meta er et RESTful API for å administrere Postgres som lar deg laste ned tabeller, tildele ansvar og utføre spørringer, blant annet.
- GoTrue er et SWT-basert API som lar deg administrere brukere og utstede SWT-tokens.
- Kong er en API-gateway som kjører på skyen.
Komme i gang
1. Prosjekt
I Supabase er et prosjekt en beholder for alle dine databaser, autentiseringsbrukere, regler, tabeller og fillagring.
Det er flere steder å være vert for prosjektet ditt, og Supabase-administratorer legger stadig til nye nettsteder for å redusere ventetiden. Et prosjekt tar rundt 2 minutter å lage, så ta en kaffe, len deg tilbake og slapp av.
2. Prosjekt Dashboard
Når prosjektet er ferdig, vil du bli presentert med et dashbord som ligner på det som vises nedenfor. Dette dashbordet viser deg alt du trenger å vite om prosjektet ditt, inkludert databasetilkoblinger, autentiseringsforespørsler, lagringskapasitet, klientbibliotekimplementering og mer.
3. Tabellskaper og redaktør
Supabases database er en relasjonell PostgreSQL med sanntidsfunksjoner og policytilgangskontroll ved bruk av Postgres RLS (Row Level Security). Utviklere kan bruke Supabases dashbord til å lage en tabell og legge til kolonner og egenskaper. Utviklere kan endre data rett fra dashbordet med Supabase.
4. Autentisering
Google, GitHub, Facebook, Twitter, GitLab og flere autentiseringsleverandører er tilgjengelige på Supabase. Disse kan slås på ved hjelp av autentiseringspanelet. Den støtter også Phone OTP og Magic Link Authentication.
5. Oppbevaring
Supabase er et åpen kildekode-objektlagringssystem som kan håndtere alle filtyper og har innebygd skalerbarhet. Den har et brukervennlig API som muliggjør tilpassede regler og tillatelser. CDN-integrasjon, samt automatisk transformasjon og optimalisering (endre størrelse og komprimering av materialet ditt), vil være tilgjengelig snart. Supabase-lagring vil være en formidabel rival til Firebase-lagring med inkludering av disse egenskapene.
Hva kan du bygge med Supabase? (Noen eksempler)
1. Betaling for abonnement med Supabase + Stripe + Next.js.
Det komplette startsettet for høyytelses SaaS-apper.
- Supabase gir sikker brukeradministrasjon og autentisering.
- Stripe Checkout og Stripe kundeportalintegrasjon.
- Supabase tilbyr kraftige datatilgang og administrasjonsverktøy på toppen av PostgreSQL.
- Stripe webhooks muliggjør automatisk synkronisering av prisplaner og abonnementsstatuser.
2. KeepLink: Enkel bokmerketjeneste med tagger og arkiv
KeepLink er en grunnleggende bokmerketjeneste med tagger og et arkiv bygget med Supabase og Next.js. Den har ingen sosiale delingsfunksjoner, men du kan være vert for din egen forekomst.
- Merk nye bokmerker automatisk basert på eksisterende tagger.
- Fulltekstsøk etter URL-er, titler, beskrivelser, tagger og arkivinnhold takket være Supabase-stakken, tagging-aliaser for administratordatabaser og rolig API-tilgang er nå mulig.
- Med metascraper kan du automatisk samle titler og beskrivelser for sidene dine. Du kan også arkivere sidene dine med SinglePage og Headless Chrome.
3. Chat-app i sanntid med Supabase + React
- For sanntidsmeldinger brukes Supabase (på toppen av PostgreSQL).
- Front-end bruker React (CRA) + Vite
- UI-biblioteket som brukes er Chakra UI.
Viktige funksjoner
Her er noen av funksjonene til Supabase:
- Et dashbord/brukergrensesnitt for å sette opp og administrere databasen din på mindre enn ett minutt.
- For å registrere brukere og oppdatere tilgangsbegrensninger i databasen din, bruk brukerautentisering.
- APIer og et JavaScript-bibliotek.
- Databaselyttere i sanntid.
- Funksjonene (somt). Dette er databaselagrede prosedyrer som kan være skrevet i SQL, JavaScript, Python eller Java.
Pros
Supabase utmerker seg av følgende grunner:
- I motsetning til Firebase kan du kjøre kompliserte søk eller tekstsøk.
- Supabase tar seg av skaleringen for deg (selv om den bruker en SQL-database)
- Datamigrering er enkel med Supabase siden den utnytter PostgreSQL, og du kan importere data ved å bruke en.sql-fil.
Ulemper
Det er noen ulemper ved å ta i bruk Supabase. De er som følger:
- For å motta sanntidsendringer må du aktivere replikeringsfunksjonaliteten for en tabell.
- Når sanntidsoppdateringer er aktivert, gjelder ikke Supabases sikkerhetspolicyer.
- Funksjonene er begrenset.
- SDK-en fungerer bare med JavaScript (støtte for andre språk er fortsatt i beta)
Priser
1. Gratis nivå
- Database med 500 MB lagringsplass og ubegrensede API-anrop
- Autentisering – Opptil 10,000 XNUMX brukere
- Fillagring – Opptil 1 GB lagringsplass, med månedlige overføringsbegrensninger på opptil 2 GB.
2. Betal mens du går
- Database – $0.125 per GB lagringsplass, uten grenser for API-anrop
- Auth – Ubegrenset
- Fillagring – Data lagret $0.021 per GB med dataoverføring på $0.07/GB
For mer prisinformasjon, kan du sjekke nettsiden deres.
konklusjonen
Supabase er den beste åpen kildekode alternativ til Googles Firebase. På grunn av PostgreSQLs kraft, tilbyr den forskjellige bemerkelsesverdige funksjoner og har ingen datatypebegrensninger som andre sanntidsdatabasesystemer.
Du kan lage en rekke apper ved å bruke Supabase og dens utmerkede funksjoner. Prøv det i dag!
Marcelo
Når det gjelder en B2B SaaS, er det mulig å ha 1 hovedbruker per kunde og andre N brukere knyttet til denne masteren som kun håndterer data fra denne kunden?