Pregled sadržaja[Sakriti][Pokazati]
Backend-as-a-Service (BaaS) je paradigma usluge u kojoj razvojni programeri eksternaliziraju komponente zakulisnog web- ili mobilnog razvoja kako bi se mogli usredotočiti na izgradnju i održavanje sučelja na bazi plug-and-play i izbjeći teret pisanja koda na strani poslužitelja.
Softver koji podržava zadatke na strani poslužitelja kao što su autentifikacija, administracija baze podataka, ažuriranje u stvarnom vremenu, pohrana, hosting i push upozorenja osiguravaju BaaS platforme (za mobilne aplikacije).
Iako različite pozadinske usluge u osnovi pružaju isto rješenje, koriste različite pozadinske tehnologije. Ovo je odlučujući čimbenik za mnoge programere pri odabiru najbolje usluge za određeni projekt.
U ovom članku ćemo duboko zaroniti u Supabase.
Što je Supabaza?
Supabaza je open-source Firebase alternativa koja nudi Backend kao uslugu za razne aplikacije. Doista je jednostavan za postavljanje i brzo radi s raznim okvirima. Supabase se naplaćuje kao open-source zamjena za Firebase.
Namjera je pomoći programerima u brzom postavljanju svog pozadinskog dijela. "Izgradite za vikend, naraste na milijune", kaže Supabase.
Supabase proizvodi uključuju Postgres bazu podataka i uslugu provjere autentičnosti, s pohranom i uslugama bez poslužitelja (za pozadinsku logiku) još uvijek u izradi. Svi njegovi alati uglavnom su besplatni i otvorenog koda. Postgres baza podataka uključuje alate povezane s bazom podataka, kao što je praćenje izmjena baze podataka u stvarnom vremenu i sučelje za upravljanje.
Nadalje, pruža brze API-je i sintaksu koji su usporedivi s Firebaseovim. To vam omogućuje dosljedno rukovanje CRUD zadacima, omogućujući vam da se usredotočite na stvaranje, a ne na ponovno pisanje CRUD koda koji se ponavlja.
Postgres baza podataka je tablica koja vam omogućuje pohranjivanje organiziranih i povezanih podataka na isti način na koji biste to učinili u proračunskoj tablici. Iznenađujuće, kada kreirate projekt, možete koristiti postojeću proračunsku tablicu kao svoju Postgres bazu podataka.
Kako Supabase radi?
Supabase je zbirka besplatnih tehnologija. Stvaraju Firebase značajke s rješenjima otvorenog koda poslovne klase. Ako su alati i zajednice dostupni pod MIT, Apache 2 ili sličnom otvorenom licencom, oni će ih koristiti i podržavati.
Ako alat već ne postoji, oni ga kreiraju i čine dostupnim kao open-source. Supabase nije 1:1 mapiranje Firebasea. Njihov je cilj pružiti razvojnim programerima iskustvo razvoja poput Firebasea open source tehnologije.
Supabase je platforma koja se hostira. Možete se prijaviti i početi koristiti bez potrebe za instalacijom. Također možete samostalno hostirati i graditi na vlastitom poslužitelju.
- PostgreSQL ima veliku reputaciju za stabilnost, robusnost značajki i brzinu; Nakon više od 30 godina aktivnog razvoja,
- Realtime je Elixir poslužitelj koji vam omogućuje slušanje PostgreSQL umetanja, ažuriranja i brisanja pomoću WebSockets. Supabase osluškuje zahtjeve za replikaciju iz Postgresa, pretvara tok bajtova replikacije u JSON, a zatim emitira JSON kroz WebSockets.
- PostgREST je web poslužitelj koji pretvara vašu PostgreSQL bazu podataka u RESTful API.
- Pohrana pruža RESTful sučelje za upravljanje datotekama pohranjenim u S3, s Postgresom kao upraviteljem prava.
- Postgres-meta je RESTful API za administriranje Postgresa koji vam omogućuje preuzimanje tablica, dodjelu odgovornosti i postavljanje upita, između ostalog.
- GoTrue je API baziran na SWT-u koji vam omogućuje upravljanje korisnicima i izdavanje SWT tokena.
- Kong je API pristupnik koji radi u oblaku.
Početak
1. Projekt
U Supabaseu projekt je spremnik za sve vaše baze podataka, korisnike provjere autentičnosti, pravila, tablice i pohranu datoteka.
Postoji nekoliko mjesta s kojih možete ugostiti svoj projekt, a administratori Supabasea stalno dodaju nove stranice kako bi smanjili kašnjenje. Za izradu projekta potrebno je oko 2 minute, pa popijte kavu, sjednite i opustite se.
2. Nadzorna ploča projekta
Kada je vaš projekt gotov, prikazat će vam se nadzorna ploča slična onoj prikazanoj u nastavku. Ova nadzorna ploča prikazuje sve što trebate znati o svom projektu, uključujući veze s bazom podataka, zahtjeve za provjeru autentičnosti, kapacitet pohrane, implementaciju klijentske biblioteke i još mnogo toga.
3. Kreator i urednik tablice
Supabaseova baza podataka je relacijski PostgreSQL s mogućnostima u stvarnom vremenu i kontrolom pristupa politikama koristeći Postgres RLS (Row Level Security). Programeri mogu koristiti nadzornu ploču Supabasea za izradu tablice i dodavanje stupaca i svojstava. Programeri mogu mijenjati podatke izravno s nadzorne ploče pomoću Supabasea.
4. Autentifikacija
Google, GitHub, Facebook, Twitter, GitLab i drugi pružatelji provjere autentičnosti dostupni su na Supabaseu. Oni se mogu uključiti pomoću ploče za provjeru autentičnosti. Također podržava telefonski OTP i Magic Link Authentication.
5. skladištenje
Supabase je sustav za pohranu objekata otvorenog koda koji može rukovati bilo kojom vrstom datoteke i ima ugrađenu skalabilnost. Ima API jednostavan za korištenje koji omogućuje prilagođena pravila i dopuštenja. CDN integracija, kao i automatska transformacija i optimizacija (promjena veličine i komprimiranje vašeg materijala), bit će dostupna uskoro. Supabase pohrana bit će veliki rival Firebase pohrani uz uključivanje ovih mogućnosti.
Što možete izgraditi sa Supabaseom? (Neki primjeri)
1. Plaćanje pretplate sa Supabase + Stripe + Next.js.
Potpuni početni set za SaaS aplikacije visokih performansi.
- Supabase pruža sigurnu korisničku administraciju i autentifikaciju.
- Stripe Checkout i integracija korisničkog portala Stripe.
- Supabase pruža moćne alate za pristup podacima i upravljanje na vrhu PostgreSQL-a.
- Stripe webhookovi omogućuju automatsku sinkronizaciju cjenovnih planova i statusa pretplate.
2. KeepLink: Jednostavna usluga označavanja s oznakama i arhivom
KeepLink je osnovna usluga oznaka s oznakama i arhivom izgrađenom sa Supabase i Next.js. Nema nikakve značajke dijeljenja na društvenim mrežama, ali možete ugostiti vlastitu instancu.
- Označite nove oznake automatski na temelju postojećih oznaka.
- Pretraživanje punog teksta za URL-ove, naslove, opise, oznake i arhivski sadržaj zahvaljujući Supabase stogu, označavanju aliasa za administratorske baze podataka i mirnom pristupu API-ju sada je moguć.
- S metascraperom možete automatski prikupiti naslove i opise za svoje stranice. Također možete arhivirati svoje stranice pomoću SinglePage i Headless Chromea.
3. Aplikacija za razgovor u stvarnom vremenu sa Supabase + React
- Za razmjenu poruka u stvarnom vremenu koristi se Supabase (na vrhu PostgreSQL-a).
- Front-end koristi React (CRA) + Vite
- Korištena knjižnica korisničkog sučelja je Chakra UI.
Glavne značajke
Evo nekih značajki Supabasea:
- Nadzorna ploča/korisničko sučelje za postavljanje i administriranje vaše baze podataka za manje od minute.
- Za registraciju korisnika i ažuriranje ograničenja pristupa u svojoj bazi podataka, primijenite autentifikaciju korisnika.
- API-ji i JavaScript biblioteka.
- Slušatelji baze podataka u stvarnom vremenu.
- Funkcije (nekako). To su pohranjene procedure baze podataka koje mogu biti napisane u SQL-u, JavaScript-u, Pythonu ili Javi.
Prozodija
Supabase se razlikuje iz sljedećih razloga:
- Za razliku od Firebasea, možete pokrenuti komplicirane upite ili tekstualna pretraživanja.
- Supabase se brine za skaliranje umjesto vas (iako koristi SQL bazu podataka)
- Migracija podataka je jednostavna uz Supabase budući da koristi PostgreSQL, a podatke možete uvesti pomoću .sql datoteke.
Cons
Postoje neki nedostaci usvajanja Supabasea. Oni su sljedeći:
- Za primanje promjena u stvarnom vremenu, morate aktivirati funkciju replikacije za tablicu.
- Kada su ažuriranja u stvarnom vremenu omogućena, Supabaseova sigurnosna pravila se ne primjenjuju.
- Značajke su ograničene.
- Njegov SDK radi samo s JavaScriptom (podrška za druge jezike je još uvijek u beta verziji)
Cijene
1. Slobodna razina
- Baza podataka s 500 MB prostora za pohranu i neograničenim API pozivima
- Autentifikacija – do 10,000 korisnika
- Pohrana datoteka – do 1 GB prostora za pohranu, uz mjesečna ograničenja prijenosa do 2 GB.
2. Plaćajte dok idete
- Baza podataka – 0.125 USD po GB prostora za pohranu, bez ograničenja na API pozive
- Auth – neograničeno
- Pohrana datoteka – podaci pohranjeni 0.021 USD po GB s prijenosom podataka od 0.07 USD/GB
Za više informacija o cijenama, možete pogledati njihovu web stranicu.
Zaključak
Supabase je najbolji open-source alternativa Googleovom Firebaseu. Zbog moći PostgreSQL-a, nudi razne izvanredne značajke i nema ograničenja tipa podataka kao drugi sustavi baza podataka u stvarnom vremenu.
Možete kreirati razne aplikacije koristeći Supabase i njegove izvrsne značajke. Isprobajte ga danas!
Marcelo
U slučaju B2B SaaS-a, je li moguće imati 1 glavnog korisnika po kupcu i drugih N korisnika povezanih s tim masterom koji rade samo s podacima ovog kupca?