Table of Contents[Ferstopje][Toanje]
Backend-as-a-Service (BaaS) is in tsjinstparadigma wêryn ûntwikkelders de komponinten efter de skermen fan web- as mobile ûntwikkeling útbesteegje, sadat se har rjochtsje kinne op it bouwen en ûnderhâlden fan it frontend op in plug-and-play basis en ûntsnappe de lêst fan it skriuwen fan serverside-koade.
Software dy't taken oan 'e tsjinner stipet, lykas autentikaasje, databaseadministraasje, real-time bywurking, opslach, hosting en push-alerts wurdt levere troch BaaS-platfoarms (foar mobile apps).
Sels hoewol ferskate backend-tsjinsten yn prinsipe deselde oplossing leverje, brûke se ûnderskate backend-technologyen. Dit is in beslissende faktor foar in protte ûntwikkelders by it kiezen fan de bêste tsjinst foar in bepaald projekt.
Yn dit artikel sille wy djip dûke yn Supabase.
Wat is Supabase?
Supabase is in iepen-boarne Firebase-alternatyf dat Backend as in tsjinst biedt foar in ferskaat oan applikaasjes. It is echt ienfâldich yn te stellen en wurket fluch mei in ferskaat oan kaders. Supabase fakturearret himsels as in iepen boarne ferfanging foar Firebase.
It is fan doel ûntwikkelders te profitearjen by it fluch ynstellen fan har backend. "Bou yn in wykein, groeie nei miljoenen," seit Supabase.
Supabase-produkten omfetsje in Postgres-database en autentikaasjetsjinst, mei opslach en serverless tsjinsten (foar backend-logika) noch yn 'e wurken. Al har ark binne meast fergees en iepen boarne. De Postgres databank omfettet databank-relatearre ark, lykas real-time monitoring fan databank oanpassings en in behear ynterface.
Fierder leveret it rappe API's en syntaksis dy't te fergelykjen binne mei Firebase's. Hjirmei kinne jo CRUD-taken op in konsekwinte manier behannelje, wêrtroch jo jo kinne konsintrearje op it meitsjen ynstee fan it oerskriuwen fan werheljende CRUD-koade.
De Postgres-database is in tabel wêrmei jo organisearre en ferbûne gegevens kinne opslaan op deselde manier as yn in spreadsheet. Ferrassend, as jo in projekt meitsje, kinne jo in besteande spreadsheet brûke as jo Postgres-database.
Hoe wurket Supabase?
Supabase is in samling fergese boarnetechnologyen. Se meitsje Firebase-funksjes mei enterprise-grade, iepen boarne-oplossingen. As de ark en mienskippen beskikber binne ûnder in MIT, Apache 2, of fergelykbere iepen lisinsje, sille se se brûke en stypje.
As it ark net al bestiet, meitsje se it en meitsje it beskikber as iepen-boarne. Supabase is gjin 1:1 mapping fan Firebase. Har doel is om ûntwikkelders te foarsjen fan in Firebase-like ûntwikkelingsûnderfining mei gebrûk iepen Boarne technologyen.
Supabase is in platfoarm dat wurdt hosted. Jo kinne jo oanmelde en begjinne te brûken sûnder neat te ynstallearjen. Jo kinne ek sels hostje en bouwe op jo eigen server.
- PostgreSQL hat in grutte reputaasje foar stabiliteit, funksje robúst, en snelheid; Nei mear as 30 jier fan aktive ûntwikkeling,
- Realtime is in Elixir-tsjinner wêrmei jo kinne harkje nei PostgreSQL-ynfoegingen, updates en wiskjes mei WebSockets. Supabase harket nei replikaasjeoanfragen fan Postgres, konvertearret de replikaasjebytestream nei JSON, en stjoert dan de JSON út fia WebSockets.
- PostgREST is in webserver dy't jo PostgreSQL-database konvertearret yn in RESTful API.
- Opslach leveret in RESTful ynterface foar it behearen fan bestannen opslein yn S3, mei Postgres as de rjochtenbehearder.
- Postgres-meta is in RESTful API foar it administrearjen fan Postgres wêrmei jo ûnder oare tabellen kinne downloade, ferantwurdlikheden tawize en fragen útfiere.
- GoTrue is in SWT-basearre API wêrmei jo brûkers kinne beheare en SWT-tokens útjaan.
- Kong is in API-poarte dy't rint op 'e wolk.
Begjinne
1. Projekt
Yn Supabase is in projekt in kontener foar al jo databases, autentikaasje brûkers, regels, tabellen en bestân opslach.
D'r binne ferskate plakken wêrfan jo jo projekt kinne hostje, en Supabase-behearders foegje konstant nije siden ta om de latency te ferminderjen. In projekt duorret sawat 2 minuten om te meitsjen, dus krij in kofje, sit werom en ûntspanne.
2. Projekt Dashboard
As jo projekt foltôge is, sille jo in dashboard wurde presinteare lykas it hjirûnder werjûn. Dit dashboard toant jo alles wat jo witte moatte oer jo projekt, ynklusyf databaseferbiningen, ferifikaasjefersiken, opslachkapasiteit, ymplemintaasje fan kliïntbibleteek, en mear.
3. Tabel Creator en bewurker
De databank fan Supabase is in relaasje PostgreSQL mei real-time mooglikheden en belied tagongskontrôle mei Postgres RLS (Row Level Security). Untwikkelders kinne it dashboard fan Supabase brûke om in tabel te konstruearjen en kolommen en eigenskippen ta te foegjen. Untwikkelders kinne gegevens direkt fan it dashboard wizigje mei Supabase.
4. Ferifikaasje
Google, GitHub, Facebook, Twitter, GitLab, en mear Autentikaasjeproviders binne beskikber op Supabase. Dizze kinne ynskeakele wurde mei it Authentication Panel. It stipet ek Phone OTP en Magic Link Authentication.
5. Opslach
Supabase is in iepen-boarne foarwerp opslachsysteem dat elk bestânstype kin omgean en hat ynboude skalberens. It hat in maklik te brûken API dy't oanpaste regels en tagongsrjochten mooglik makket. CDN-yntegraasje, lykas auto-transformaasje en optimisaasje (feroarje en komprimearje jo materiaal), sille ynkoarten beskikber wêze. Supabase-opslach sil in formidabele rivaal wêze foar Firebase-opslach mei it opnimmen fan dizze mooglikheden.
Wat kinne jo bouwe mei Supabase? (Guon foarbylden)
1. Abonnemint betelling mei Supabase + Stripe + Next.js.
De folsleine starterset foar hege prestaasjes SaaS-apps.
- Supabase leveret feilige brûkersadministraasje en autentikaasje.
- Stripe Checkout en de yntegraasje fan Stripe klantportaal.
- Supabase leveret krêftige gegevenstagongs- en behear-ark boppe op PostgreSQL.
- Stripe webhooks skeakelje automatyske syngronisaasje fan priisplannen en abonnemintstatusen yn.
2. KeepLink: Ienfâldige blêdwizertsjinst mei tags en argyf
KeepLink is in basisblêdwizertsjinst mei tags en in argyf boud mei Supabase en Next.js. It hat gjin funksjes foar sosjale dielen, mar jo kinne jo eigen eksimplaar hostje.
- Tag nije blêdwizers automatysk op basis fan besteande tags.
- Folsleine tekst sykjen foar URL's, titels, beskriuwingen, tags en argyfynhâld tank oan de Supabase-stapel, tagging-aliassen foar admin-databases, en rêstige API-tagong is no mooglik.
- Mei metascraper kinne jo automatysk titels en beskriuwingen sammelje foar jo siden. Jo kinne jo siden ek argivearje mei SinglePage en Headless Chrome.
3. Real-time chat app mei Supabase + React
- Foar real-time messaging wurdt Supabase (boppe op PostgreSQL) brûkt.
- Front-end brûkt React (CRA) + Vite
- De brûkte UI-bibleteek is Chakra UI.
Key Features
Hjir binne guon fan 'e funksjes fan Supabase:
- In dashboard / brûkersynterface foar it ynstellen en behearen fan jo database yn minder dan in minút.
- Om brûkers oan te melden en tagongsbeperkingen yn jo databank te aktualisearjen, tapasse brûkersautentikaasje.
- API's en in JavaScript-bibleteek.
- Database harkers yn real-time.
- De funksjes (sawat). Dit binne databank opsleine prosedueres dy't skreaun wurde kinne yn SQL, JavaScript, Python of Java.
pros
Supabase ûnderskiedt him om de folgjende redenen:
- Yn tsjinstelling ta Firebase kinne jo yngewikkelde fragen of tekstsykjen útfiere.
- Supabase soarget foar de skaalfergrutting foar jo (ek al brûkt it in SQL-database)
- Gegevensmigraasje is ienfâldich mei Supabase, om't it PostgreSQL brûkt, en jo kinne gegevens ymportearje mei in.sql-bestân.
Cons
D'r binne wat neidielen fan it oannimmen fan Supabase. Se binne as folget:
- Foar in ûntfange real-time feroarings, Jo moatte aktivearje de replikaasje funksjonaliteit foar in tabel.
- As realtime updates binne ynskeakele, jildt it feiligensbelied fan Supabase net.
- Funksjes binne beheind.
- De SDK wurket allinich mei JavaScript (Stipe foar oare talen is noch yn beta)
Pricing
1. Free Tier
- Databank mei 500 MB opslachromte en ûnbeheinde API-oproppen
- Autentikaasje - Oant 10,000 brûkers
- Bestânsopslach - Oant 1 GB opslach, mei moanlikse oerdrachtbeperkingen fan maksimaal 2 GB.
2. Betelje as jo gean
- Databank - $ 0.125 per GB opslach, sûnder limiten op API-oproppen
- Auth - Unbeheind
- Bestânsopslach - Gegevens opslein $ 0.021 per GB mei gegevensoerdracht fan $ 0.07 / GB
Foar mear priisynformaasje kinne jo har webside kontrolearje.
Konklúzje
Supabase is de bêste iepen boarne alternatyf foar Google's Firebase. Fanwegen de krêft fan PostgreSQL biedt it ferskate opmerklike funksjes en hat gjin beheiningen foar gegevenstype lykas oare real-time databasesystemen.
Jo kinne in ferskaat oan apps meitsje mei Supabase en syn treflike funksjes. Besykje it hjoed!
Marcelo
Yn it gefal fan in B2B SaaS, is it mooglik om 1 master brûker per klant en oare N brûkers yn ferbân mei dizze master te hawwen allinnich omgean mei gegevens fan dizze klant?