Sadržaj[Sakrij][Prikaži]
Backend-as-a-Service (BaaS) je paradigma usluge u kojoj programeri eksternaliziraju komponente zakulisnog web ili mobilnog razvoja tako da se mogu fokusirati na izgradnju i održavanje frontenda na bazi plug-and-play i izbjeći teret pisanja koda na strani servera.
Softver koji podržava zadatke na strani servera kao što su autentifikacija, administracija baze podataka, ažuriranje u realnom vremenu, skladištenje, hosting i push upozorenja obezbjeđuju 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 faktor za mnoge programere pri odabiru najbolje usluge za određeni projekat.
U ovom članku ćemo duboko zaroniti u Supabase.
Šta je Supabase?
Supabase je open-source Firebase alternativa koja nudi Backend kao uslugu za razne aplikacije. Zaista je jednostavan za postavljanje i radi brzo s raznim okvirima. Supabase se naplaćuje kao open-source zamjena za Firebase.
Namjerava da koristi programerima u brzom postavljanju svog pozadinskog dijela. „Izgradite za vikend, povećajte na milione“, kaže Supabase.
Supabase proizvodi uključuju Postgres bazu podataka i uslugu autentikacije, sa uslugama skladištenja i servera (za pozadinsku logiku) koje su još uvijek u izradi. Svi njegovi alati su uglavnom besplatni i otvorenog koda. Postgres baza podataka uključuje alate vezane za bazu podataka, kao što je praćenje modifikacija baze podataka u realnom vremenu i interfejs za upravljanje.
Nadalje, pruža brze API-je i sintaksu koja je uporediva sa Firebase-om. Ovo vam omogućava da CRUD zadacima rukujete na dosljedan način, omogućavajući vam da se fokusirate na kreiranje, a ne na ponovno pisanje CRUD koda koji se ponavlja.
Postgres baza podataka je tabela koja vam omogućava pohranjivanje organiziranih i povezanih podataka na isti način na koji biste to učinili u proračunskoj tabeli. Iznenađujuće, kada kreirate projekat, možete koristiti postojeću tabelu kao svoju Postgres bazu podataka.
Kako Supabase funkcionira?
Supabase je zbirka besplatnih tehnologija. Oni kreiraju Firebase funkcije sa rješenjima otvorenog koda korporativnog nivoa. 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 cilj je pružiti programerima iskustvo razvoja poput Firebasea open source tehnologije.
Supabase je platforma koja se hostuje. Možete se prijaviti i početi koristiti bez potrebe da bilo šta instalirate. Takođe možete samostalno hostovati i graditi na svom serveru.
- PostgreSQL ima veliku reputaciju za stabilnost, robusnost karakteristika i brzinu; Nakon više od 30 godina aktivnog razvoja,
- Realtime je Elixir server koji vam omogućava da slušate PostgreSQL umetanja, ažuriranja i brisanja koristeći WebSockets. Supabase osluškuje zahtjeve za replikaciju iz Postgresa, pretvara tok bajtova replikacije u JSON, a zatim emituje JSON kroz WebSockets.
- PostgREST je web server koji pretvara vašu PostgreSQL bazu podataka u RESTful API.
- Storage pruža RESTful interfejs za upravljanje datotekama pohranjenim u S3, sa Postgresom kao upraviteljem prava.
- Postgres-meta je RESTful API za administriranje Postgresa koji vam omogućava preuzimanje tabela, dodjelu odgovornosti i obavljanje upita, između ostalog.
- GoTrue je API baziran na SWT-u koji vam omogućava upravljanje korisnicima i izdavanje SWT tokena.
- Kong je API gateway koji radi u oblaku.
Počinjemo
1. Projekt
U Supabase-u, projekt je kontejner za sve vaše baze podataka, korisnike za provjeru autentičnosti, pravila, tablice i pohranu datoteka.
Postoji nekoliko mjesta na kojima možete ugostiti vaš projekat, a administratori Supabasea stalno dodaju nove stranice kako bi smanjili kašnjenje. Za izradu projekta potrebno je oko 2 minute, pa uzmite kafu, sjedite i opustite se.
2. Kontrolna tabla projekta
Kada je vaš projekat završen, biće vam predstavljena kontrolna tabla slična onoj prikazanoj ispod. Ova kontrolna tabla 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 uređivač tablice
Supabase-ova baza podataka je relacijski PostgreSQL sa mogućnostima u realnom vremenu i kontrolom pristupa politikama koristeći Postgres RLS (Row Level Security). Programeri mogu koristiti Supabase-ovu kontrolnu tablu da naprave tabelu i dodaju kolone i svojstva. Programeri mogu modifikovati podatke direktno sa kontrolne table pomoću Supabase-a.
4. Autentifikacija
Google, GitHub, Facebook, Twitter, GitLab i drugi provajderi autentikacije dostupni su na Supabaseu. Oni se mogu uključiti pomoću panela za provjeru autentičnosti. Takođe podržava telefonski OTP i Magic Link Authentication.
5. Skladištenje
Supabase je sistem za skladištenje objekata otvorenog koda koji može da obrađuje bilo koju vrstu datoteke i ima ugrađenu skalabilnost. Ima API jednostavan za korištenje koji omogućava prilagođena pravila i dozvole. Integracija CDN-a, kao i automatska transformacija i optimizacija (promjena veličine i komprimiranje vašeg materijala), bit će dostupna uskoro. Supabase skladište će biti veliki rival Firebase skladište sa uključivanjem ovih mogućnosti.
Šta možete izgraditi sa Supabaseom? (Neki primjeri)
1. Plaćanje pretplate sa Supabase + Stripe + Next.js.
Kompletan početni set za SaaS aplikacije visokih performansi.
- Supabase pruža sigurnu administraciju korisnika 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ćavaju automatsku sinhronizaciju cjenovnih planova i statusa pretplate.
2. KeepLink: Jednostavan servis oznaka sa oznakama i arhivom
KeepLink je osnovni bookmark servis sa oznakama i arhivom izgrađenom sa Supabase i Next.js. Nema nikakve funkcije dijeljenja na društvenim mrežama, ali možete ugostiti vlastitu instancu.
- Automatski označite nove oznake na osnovu postojećih oznaka.
- Pretraživanje punog teksta za URL-ove, naslove, opise, oznake i sadržaj arhive zahvaljujući Supabase steku, označavanju aliasa za administratorske baze podataka i mirnom pristupu API-ju sada je moguć.
- Pomoću metascrapera možete automatski prikupiti naslove i opise za svoje stranice. Također možete arhivirati svoje stranice sa SinglePage i Headless Chromeom.
3. Aplikacija za ćaskanje u realnom vremenu sa Supabase + React
- Za razmjenu poruka u realnom vremenu koristi se Supabase (na vrhu PostgreSQL-a).
- Front-end koristi React (CRA) + Vite
- UI biblioteka koja se koristi je Chakra UI.
ključne značajke
Evo nekih od karakteristika Supabase-a:
- Kontrolna tabla/korisnički interfejs za postavljanje i administriranje vaše baze podataka za manje od jedne minute.
- Za registraciju korisnika i ažuriranje ograničenja pristupa u vašoj bazi podataka, primijenite autentifikaciju korisnika.
- API-ji i JavaScript biblioteka.
- Slušatelji baze podataka u realnom vremenu.
- Funkcije (nekako). Ovo su pohranjene procedure baze podataka koje mogu biti napisane u SQL-u, JavaScript-u, Pythonu ili Javi.
pros
Supabase se izdvaja iz sljedećih razloga:
- Za razliku od Firebase-a, možete pokrenuti komplikovane upite ili tekstualne pretrage.
- Supabase se brine za skaliranje umjesto vas (iako koristi SQL bazu podataka)
- Migracija podataka je jednostavna sa Supabase-om jer koristi PostgreSQL, a podatke možete uvesti koristeći .sql datoteku.
Cons
Postoje neki nedostaci usvajanja Supabase-a. One su sljedeće:
- Da biste primili promjene u stvarnom vremenu, morate aktivirati funkciju replikacije za tablicu.
- Kada su ažuriranja u stvarnom vremenu omogućena, Supabase sigurnosne politike se ne primjenjuju.
- Karakteristike su ograničene.
- Njegov SDK radi samo s JavaScriptom (podrška za druge jezike je još uvijek u beta fazi)
Cijene
1. Slobodni nivo
- Baza podataka sa 500 MB skladišnog prostora i neograničenim API pozivima
- Autentifikacija – do 10,000 korisnika
- Skladištenje datoteka – do 1 GB prostora za pohranu, uz mjesečna ograničenja prijenosa do 2 GB.
2. Plaćajte kako idete
- Baza podataka – 0.125 USD po GB prostora za pohranu, bez ograničenja na API pozive
- Auth – neograničeno
- Skladištenje datoteka – Podaci pohranjeni 0.021 USD po GB sa 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 karakteristike i nema ograničenja tipa podataka kao drugi sistemi baza podataka u realnom vremenu.
Možete kreirati razne aplikacije koristeći Supabase i njegove odlične karakteristike. Isprobajte ga danas!
marcelo
U slučaju B2B SaaS-a, da li je moguće imati 1 glavnog korisnika po kupcu i drugih N korisnika koji su povezani s ovim masterom koji se bave samo podacima od ovog kupca?