Tartalomjegyzék[Elrejt][Előadás]
A Backend-as-a-Service (BaaS) egy olyan szolgáltatási paradigma, amelyben a fejlesztők kiszervezik a web- vagy mobilfejlesztés kulisszák mögötti összetevőit, így a frontend plug-and-play alapon történő felépítésére és karbantartására összpontosíthatnak. elkerülheti a szerveroldali kódírás terhét.
A szerveroldali feladatokat, például hitelesítést, adatbázis-adminisztrációt, valós idejű frissítést, tárolást, tárhelyszolgáltatást és push riasztásokat támogató szoftvereket a BaaS platformok (mobilalkalmazásokhoz) biztosítják.
Annak ellenére, hogy a különböző háttérszolgáltatások alapvetően ugyanazt a megoldást kínálják, eltérő háttértechnológiákat használnak. Ez sok fejlesztő számára döntő tényező, amikor egy adott projekthez a legjobb szolgáltatást választják.
Ebben a cikkben részletesen elmerülünk a Supabase-ben.
Mi Supabase?
Supabase egy nyílt forráskódú Firebase alternatíva, amely a Backend szolgáltatást kínálja számos alkalmazáshoz. Nagyon egyszerű beállítani, és gyorsan működik különféle keretrendszerekkel. A Supabase a Firebase nyílt forráskódú helyettesítőjeként tartja nyilván magát.
Célja, hogy a fejlesztők javát szolgálja a háttérrendszerük gyors beállításában. „Építsen egy hétvége alatt, nőjön milliókká” – mondja Supabase.
A Supabase termékei közé tartozik a Postgres adatbázis és hitelesítési szolgáltatás, a tárolási és szerver nélküli szolgáltatásokkal (a háttérlogikához) még mindig készül. Minden eszköze többnyire ingyenes és nyílt forráskódú. A Postgres adatbázis olyan adatbázisokkal kapcsolatos eszközöket tartalmaz, mint például az adatbázis-módosítások valós idejű megfigyelése és egy felügyeleti felület.
Ezenkívül gyors API-kat és szintaxist biztosít, amelyek összehasonlíthatók a Firebase-éval. Ez lehetővé teszi a CRUD-feladatok következetes kezelését, lehetővé téve, hogy az ismétlődő CRUD-kód újraírása helyett a létrehozásra összpontosítson.
A Postgres adatbázis egy táblázat, amely lehetővé teszi a rendszerezett és összekapcsolt adatok tárolását ugyanúgy, mint egy táblázatban. Meglepő módon egy projekt létrehozásakor egy meglévő táblázatot használhat Postgres adatbázisként.
Hogyan működik a Supabase?
A Supabase ingyenes forráskódú technológiák gyűjteménye. Firebase-funkciókat hoznak létre vállalati szintű, nyílt forráskódú megoldásokkal. Ha az eszközök és közösségek MIT, Apache 2 vagy hasonló nyílt licenc alatt állnak rendelkezésre, akkor ezeket használják és támogatják.
Ha az eszköz még nem létezik, létrehozzák, és elérhetővé teszik nyílt forráskódú. A Supabase nem a Firebase 1:1-es leképezése. Céljuk, hogy a fejlesztők számára Firebase-szerű fejlesztési élményt nyújtsanak nyílt forráskódú technológiákat.
A Supabase egy olyan platform, amelyet üzemeltetnek. Regisztrálhat és elkezdheti használni anélkül, hogy bármit is telepítene. Saját szervert is működtethet és építhet rá.
- A PostgreSQL-nek nagy híre van a stabilitásról, a funkciók robusztusságáról és a sebességéről; Több mint 30 éves aktív fejlesztés után,
- A Realtime egy Elixir szerver, amely lehetővé teszi a PostgreSQL beszúrások, frissítések és törlések meghallgatását a WebSockets használatával. A Supabase figyeli a Postgres replikációs kéréseit, átalakítja a replikációs bájtfolyamot JSON-ba, majd a JSON-t a WebSockets szolgáltatáson keresztül sugározza.
- A PostgREST egy webszerver, amely a PostgreSQL adatbázist RESTful API-vá alakítja.
- A Storage RESTful felületet biztosít az S3-ban tárolt fájlok kezeléséhez, a Postgres jogkezelővel.
- A Postgres-meta egy RESTful API a Postgres adminisztrálására, amely többek között lehetővé teszi táblák letöltését, felelősségek kijelölését és lekérdezések lebonyolítását.
- A GoTrue egy SWT-alapú API, amely lehetővé teszi a felhasználók kezelését és az SWT tokenek kiadását.
- A Kong egy API-átjáró, amely a felhőben fut.
Az első lépések
1. Projekt
A Supabase-ben a projekt az összes adatbázis, hitelesítési felhasználó, szabály, tábla és fájltároló tárolója.
Számos helyen tárolhatja projektjét, és a Supabase rendszergazdái folyamatosan új webhelyeket adnak hozzá a késleltetés csökkentése érdekében. Egy projekt elkészítése körülbelül 2 percet vesz igénybe, ezért igyon egy kávét, dőljön hátra, és lazítson.
2. Projekt irányítópult
Amikor a projekt befejeződött, megjelenik az alábbihoz hasonló irányítópult. Ez az irányítópult mindent megmutat, amit tudnia kell a projektről, beleértve az adatbázis-kapcsolatokat, a hitelesítési kérelmeket, a tárkapacitást, az ügyfélkönyvtár megvalósítását és még sok mást.
3. Táblázatkészítő és szerkesztő
A Supabase adatbázisa egy relációs PostgreSQL, valós idejű képességekkel és a Postgres RLS (Row Level Security) házirend-hozzáférés szabályozásával. A fejlesztők a Supabase irányítópultját használhatják táblázat létrehozására, valamint oszlopok és tulajdonságok hozzáadására. A fejlesztők közvetlenül az irányítópultról módosíthatják az adatokat a Supabase segítségével.
4. Hitelesítés
A Google, a GitHub, a Facebook, a Twitter, a GitLab és más hitelesítésszolgáltatók elérhetők a Supabase-en. Ezeket a Hitelesítési panelen lehet bekapcsolni. Támogatja a Phone OTP és a Magic Link hitelesítést is.
5. Tárolás
A Supabase egy nyílt forráskódú objektumtároló rendszer, amely bármilyen fájltípust képes kezelni, és beépített skálázhatósággal rendelkezik. Könnyen használható API-val rendelkezik, amely lehetővé teszi az egyéni szabályokat és engedélyeket. A CDN-integráció, valamint az automatikus átalakítás és optimalizálás (az anyag átméretezése és tömörítése) hamarosan elérhető lesz. A Supabase tárhely óriási riválisa lesz a Firebase tárhelynek ezen képességekkel.
Mit lehet építeni a Supabase segítségével? (Néhány példa)
1. Előfizetés fizetése a Supabase + Stripe + Next.js segítségével.
A teljes kezdőkészlet a nagy teljesítményű SaaS-alkalmazásokhoz.
- A Supabase biztonságos felhasználói adminisztrációt és hitelesítést biztosít.
- A Stripe Checkout és a Stripe ügyfélportál integrációja.
- A Supabase hatékony adatelérési és -kezelési eszközöket biztosít a PostgreSQL-en felül.
- A Stripe webhook lehetővé teszi az árcsomagok és az előfizetési állapotok automatikus szinkronizálását.
2. KeepLink: Egyszerű könyvjelző szolgáltatás címkékkel és archívumokkal
A KeepLink egy alapvető könyvjelző-szolgáltatás címkékkel és Supabase és Next.js programokkal felépített archívumokkal. Nem rendelkezik közösségi megosztási funkciókkal, de saját példányt is tárolhat.
- Új könyvjelzők címkézése automatikusan a meglévő címkék alapján.
- Teljes szöveges keresés URL-ek, címek, leírások, címkék és archív tartalmak között a Supabase veremnek, a rendszergazdai adatbázisok álneveinek címkézésének és a nyugodt API-hozzáférésnek köszönhetően.
- A metascraper segítségével automatikusan címeket és leírásokat gyűjthet az oldalaihoz. Oldalait archiválhatja a SinglePage és a Headless Chrome segítségével is.
3. Valós idejű chat alkalmazás a Supabase + React segítségével
- A valós idejű üzenetküldéshez a Supabase (a PostgreSQL tetején) használatos.
- A kezelőfelület a React (CRA) + Vite alkalmazást használja
- A használt felhasználói felület könyvtár a Chakra UI.
Főbb jellemzők
Íme a Supabase néhány funkciója:
- Irányítópult/felhasználói felület az adatbázis beállításához és adminisztrálásához kevesebb mint egy perc alatt.
- A felhasználók regisztrálásához és a hozzáférési korlátozások frissítéséhez az adatbázisban alkalmazzon felhasználói hitelesítést.
- API-k és JavaScript-könyvtár.
- Adatbázis figyelők valós időben.
- A funkciók (valahogy). Ezek adatbázisban tárolt eljárások, amelyek SQL, JavaScript, Python vagy Java nyelven írhatók.
Érvek
A Supabase a következő okok miatt tűnik ki:
- A Firebase-szal ellentétben bonyolult lekérdezéseket vagy szöveges kereséseket futtathat.
- A Supabase gondoskodik a méretezésről (annak ellenére, hogy SQL adatbázist használ)
- Az adatmigráció egyszerű a Supabase segítségével, mivel a PostgreSQL-t használja, és az adatokat a.sql fájl segítségével importálhatja.
Hátrányok
A Supabase alkalmazásának van néhány hátránya. Ezek a következők:
- A valós idejű módosítások fogadásához aktiválnia kell egy tábla replikációs funkcióját.
- Ha a valós idejű frissítések engedélyezve vannak, a Supabase biztonsági házirendjei nem érvényesek.
- A funkciók korlátozottak.
- SDK-ja csak JavaScripttel működik (a többi nyelv támogatása még béta állapotban van)
Árazás
1. Ingyenes szint
- Adatbázis 500 MB tárhellyel és korlátlan API-hívásokkal
- Hitelesítés – Akár 10,000 XNUMX felhasználó
- Fájltárolás – Akár 1 GB tárhely, havi 2 GB-os átviteli korlátozással.
2. Fizetés közben
- Adatbázis – 0.125 USD/GB tárhely, az API-hívások korlátozása nélkül
- Auth – Korlátlan
- Fájltárolás – 0.021 USD/GB adattárolás, 0.07 USD/GB adatátvitel mellett
További árinformációkért tekintse meg weboldalukat.
Következtetés
A Supabase a legjobb nyílt forráskódú alternatívája a Google Firebase-nek. A PostgreSQL erejének köszönhetően számos figyelemre méltó szolgáltatásokat kínál, és nincs adattípus-korlátozása, mint más valós idejű adatbázisrendszerek.
A Supabase és annak kiváló funkciói segítségével számos alkalmazást hozhat létre. Próbáld ki még ma!
Marcelo
Egy B2B SaaS esetében lehetséges, hogy ügyfelenként 1 fő felhasználó, és a főhöz kapcsolódó további N felhasználó csak ettől az ügyféltől származó adatokkal foglalkozzon?