Mundarija[Yashirish][Show]
Backend-as-a-Service (BaaS) xizmat ko'rsatish paradigmasi bo'lib, unda ishlab chiquvchilar veb yoki mobil ishlanmaning sahna ortidagi komponentlarini autsorsing qiladilar, shunda ular plagin va o'ynatish asosida frontendni yaratish va saqlashga e'tibor qaratishlari mumkin. server tomoni kodini yozish yukidan xalos bo'ling.
Autentifikatsiya, ma'lumotlar bazasini boshqarish, real vaqtda yangilash, saqlash, xosting va push ogohlantirishlar kabi server tomonidagi vazifalarni qo'llab-quvvatlovchi dasturiy ta'minot BaaS platformalari (mobil ilovalar uchun) tomonidan taqdim etiladi.
Garchi turli xil backend xizmatlari bir xil yechimni taqdim etsa ham, ular alohida backend texnologiyalaridan foydalanadilar. Bu ko'plab ishlab chiquvchilar uchun ma'lum bir loyiha uchun eng yaxshi xizmatni tanlashda hal qiluvchi omil.
Ushbu maqolada biz Supabase-ga chuqur kirib boramiz.
Nima bu Ma'lumotlar bazasi?
Ma'lumotlar bazasi turli ilovalarga xizmat sifatida Backend taklif qiladigan ochiq manbali Firebase alternativasidir. Uni o'rnatish juda oddiy va turli ramkalar bilan tez ishlaydi. Supabase o'zini Firebase-ning o'rnini bosuvchi ochiq manba sifatida taqdim etadi.
Bu ishlab chiquvchilarga o'zlarining backendlarini tezda sozlashda foyda keltirmoqchi. "Dam olish kunlarida quring, millionlab o'sing", deydi Supabase.
Supabase mahsulotlari Postgres ma'lumotlar bazasi va autentifikatsiya xizmatini o'z ichiga oladi, saqlash va serversiz xizmatlar (backend mantiqi uchun) hali ham ishlamoqda. Uning barcha vositalari asosan bepul va ochiq manba hisoblanadi. Postgres ma'lumotlar bazasi ma'lumotlar bazasi o'zgarishlarini real vaqt rejimida kuzatish va boshqaruv interfeysi kabi ma'lumotlar bazasi bilan bog'liq vositalarni o'z ichiga oladi.
Bundan tashqari, u Firebase bilan taqqoslanadigan tezkor API va sintaksisni taqdim etadi. Bu sizga CRUD vazifalarini izchil tarzda bajarish imkonini beradi, bu sizga takroriy CRUD kodini qayta yozishga emas, balki yaratishga e'tibor qaratish imkonini beradi.
Postgres ma'lumotlar bazasi - bu elektron jadvaldagi kabi tartibga solingan va bog'langan ma'lumotlarni saqlashga imkon beruvchi jadval. Ajablanarlisi shundaki, siz loyiha yaratganingizda Postgres ma'lumotlar bazasi sifatida mavjud elektron jadvaldan foydalanishingiz mumkin.
Supabase qanday ishlaydi?
Supabase - bu bepul manba texnologiyalari to'plami. Ular korporativ darajadagi ochiq manbali yechimlar bilan Firebase xususiyatlarini yaratmoqda. Agar asboblar va jamoalar MIT, Apache 2 yoki shunga o'xshash ochiq litsenziya ostida mavjud bo'lsa, ular ulardan foydalanadilar va qo'llab-quvvatlaydilar.
Agar asbob allaqachon mavjud bo'lmasa, ular uni yaratadilar va uni mavjud qiladi Ochiq manba. Supabase Firebase-ning 1:1 xaritasi emas. Ularning maqsadi ishlab chiquvchilarga Firebase-ga o'xshash ishlab chiqish tajribasini taqdim etishdir Ochiq manba Texnologiyalari.
Supabase - bu joylashtirilgan platforma. Hech narsa o'rnatmasdan ro'yxatdan o'tishingiz va undan foydalanishni boshlashingiz mumkin. Shuningdek, siz o'z serveringizda o'zingizni xost qilishingiz va qurishingiz mumkin.
- PostgreSQL barqarorlik, xususiyatlarning mustahkamligi va tezligi bo'yicha katta obro'ga ega; 30 yildan ortiq faol rivojlanishdan so'ng,
- Realtime - bu WebSockets yordamida PostgreSQL qo'shimchalari, yangilanishlari va o'chirishlarini tinglash imkonini beruvchi Elixir serveridir. Supabase Postgres-dan replikatsiya so'rovlarini tinglaydi, replikatsiya bayt oqimini JSON-ga o'zgartiradi va keyin JSON-ni WebSockets orqali uzatadi.
- PostgREST - bu PostgreSQL ma'lumotlar bazasini RESTful API ga o'zgartiradigan veb-server.
- Saqlash S3-da saqlangan fayllarni boshqarish uchun RESTful interfeysini taqdim etadi, Postgres huquqlar menejeri sifatida.
- Postgres-meta - bu Postgres-ni boshqarish uchun RESTful API bo'lib, u sizga jadvallarni yuklab olish, mas'uliyatni belgilash va so'rovlarni o'tkazish va boshqa narsalar qatorida imkon beradi.
- GoTrue - bu foydalanuvchilarni boshqarish va SWT tokenlarini chiqarish imkonini beruvchi SWT-ga asoslangan API.
- Kong bulutda ishlaydigan API shlyuzidir.
Ishni boshlash
1. Loyiha
Supabase-da loyiha barcha ma'lumotlar bazalaringiz, autentifikatsiya foydalanuvchilari, qoidalar, jadvallar va fayllarni saqlash uchun konteynerdir.
Loyihangizni joylashtirish uchun bir nechta joylar mavjud va Supabase ma'murlari kechikishni kamaytirish uchun doimiy ravishda yangi saytlarni qo'shib boradilar. Loyihani yaratish uchun taxminan 2 daqiqa vaqt ketadi, shuning uchun qahva oling, orqaga o'tiring va dam oling.
2. Loyiha boshqaruv paneli
Loyihangiz tugagach, sizga quyida ko'rsatilganga o'xshash boshqaruv paneli taqdim etiladi. Ushbu asboblar paneli sizga loyihangiz haqida bilishingiz kerak bo'lgan barcha narsalarni, jumladan ma'lumotlar bazasi ulanishlari, autentifikatsiya so'rovlari, saqlash hajmi, mijozlar kutubxonasini amalga oshirish va boshqalarni ko'rsatadi.
3. Jadval yaratuvchisi va muharriri
Supabase ma'lumotlar bazasi Postgres RLS (Row Level Security) yordamida real vaqtda imkoniyatlar va siyosatga kirishni boshqarish bilan bog'liq PostgreSQL hisoblanadi. Ishlab chiquvchilar Supabase asboblar panelidan Jadval yaratish va ustunlar va xususiyatlarni qo'shish uchun foydalanishlari mumkin. Ishlab chiquvchilar maʼlumotlarni toʻgʻridan-toʻgʻri boshqaruv panelidan Supabase yordamida oʻzgartirishi mumkin.
4. Autentifikatsiya
Google, GitHub, Facebook, Twitter, GitLab va boshqa autentifikatsiya provayderlari Supabase’da mavjud. Ularni Autentifikatsiya paneli yordamida yoqish mumkin. Shuningdek, u Phone OTP va Magic Link autentifikatsiyasini qo'llab-quvvatlaydi.
5. Saqlash
Supabase ochiq manbali ob'yektlarni saqlash tizimi bo'lib, u har qanday fayl turini ishlay oladi va o'rnatilgan miqyosga ega. Unda foydalanish uchun qulay API mavjud bo'lib, u maxsus qoidalar va ruxsatlarni beradi. CDN integratsiyasi, shuningdek, avtomatik o'zgartirish va optimallashtirish (materialingizning o'lchamini o'zgartirish va siqish) tez orada mavjud bo'ladi. Supabase xotirasi ushbu imkoniyatlarni o'z ichiga olgan holda Firebase xotirasiga kuchli raqib bo'ladi.
Supabase bilan nimani qurishingiz mumkin? (Ba'zi misollar)
1. Obuna to'lovi Supabase + Stripe + Next.js bilan.
Yuqori samarali SaaS ilovalari uchun to'liq boshlang'ich to'plami.
- Supabase xavfsiz foydalanuvchi ma'muriyati va autentifikatsiyasini ta'minlaydi.
- Stripe Checkout va Stripe mijozlar portali integratsiyasi.
- Supabase PostgreSQL ustidagi kuchli ma'lumotlarga kirish va boshqarish vositalarini taqdim etadi.
- Stripe webhooks narxlar rejalari va obuna holatini avtomatik sinxronlashtirish imkonini beradi.
2. KeepLink: Teglar va arxivga ega oddiy xatcho'p xizmati
KeepLink bu Supabase va Next.js bilan yaratilgan teglar va arxivga ega asosiy xatcho‘p xizmatidir. Unda ijtimoiy almashish funksiyalari mavjud emas, lekin siz oʻz misolingizni joylashtirishingiz mumkin.
- Mavjud teglar asosida yangi xatcho'plarni avtomatik ravishda belgilang.
- Supabase stek, administrator maʼlumotlar bazalari uchun taxalluslarni belgilash va qulay API kirishi tufayli URL manzillar, sarlavhalar, tavsiflar, teglar va arxiv tarkibini toʻliq matnli qidirish endi mumkin.
- Metascraper yordamida siz sahifalaringiz uchun avtomatik ravishda sarlavhalar va tavsiflarni to'plashingiz mumkin. Shuningdek, sahifalaringizni SinglePage va Headless Chrome bilan arxivlashingiz mumkin.
3. Haqiqiy vaqtda chat ilovasi Supabase + React bilan
- Haqiqiy vaqtda xabar almashish uchun Supabase (PostgreSQL tepasida) ishlatiladi.
- Front-end React (CRA) + Vite dan foydalanadi
- Amaldagi UI kutubxonasi Chakra UI.
kalit Xususiyatlar
Supabase-ning ba'zi xususiyatlari:
- Bir daqiqadan kamroq vaqt ichida ma'lumotlar bazasini sozlash va boshqarish uchun asboblar paneli/foydalanuvchi interfeysi.
- Foydalanuvchilarni ro'yxatdan o'tkazish va ma'lumotlar bazasiga kirish cheklovlarini yangilash uchun foydalanuvchi autentifikatsiyasini qo'llang.
- API va JavaScript kutubxonasi.
- Haqiqiy vaqtda ma'lumotlar bazasi tinglovchilari.
- Funktsiyalar (bir xil). Bular SQL, JavaScript, Python yoki Java-da yozilishi mumkin bo'lgan ma'lumotlar bazasida saqlanadigan protseduralardir.
Taroziga
Supabase o'zini quyidagi sabablarga ko'ra ajratib turadi:
- Firebase-dan farqli o'laroq, siz murakkab so'rovlar yoki matnli qidiruvlarni bajarishingiz mumkin.
- Supabase siz uchun masshtablash bilan shug'ullanadi (garchi u SQL ma'lumotlar bazasidan foydalansa ham)
- Supabase bilan ma'lumotlarni ko'chirish juda oson, chunki u PostgreSQL-dan foydalanadi va siz a.sql fayli yordamida ma'lumotlarni import qilishingiz mumkin.
Kamchiliklari
Supabase-ni qabul qilishning ba'zi kamchiliklari mavjud. Ular quyidagichadir:
- Haqiqiy vaqtda o'zgarishlarni qabul qilish uchun siz jadval uchun replikatsiya funksiyasini faollashtirishingiz kerak.
- Haqiqiy vaqtda yangilanishlar yoqilganda, Supabase xavfsizlik siyosatlari qo'llanilmaydi.
- Xususiyatlari cheklangan.
- Uning SDK faqat JavaScript bilan ishlaydi (boshqa tillarni qo‘llab-quvvatlash hali beta-versiyada)
narxlanish
1. Bepul daraja
- 500 MB saqlash maydoni va cheksiz API qo'ng'iroqlariga ega ma'lumotlar bazasi
- Autentifikatsiya - 10,000 XNUMX tagacha foydalanuvchi
- Fayllarni saqlash - 1 GB gacha saqlash, oylik uzatish cheklovlari 2 GB gacha.
2. Kelganingizdek to'lang
- Ma'lumotlar bazasi - har GB saqlash uchun $ 0.125, API qo'ng'iroqlarida cheklovlarsiz
- Auth - Cheksiz
- Faylni saqlash - ma'lumotlar har GB uchun $ 0.021 saqlanadi, ma'lumot uzatish $ 0.07/GB
Narxlar haqida ko'proq ma'lumot olish uchun ularning veb-saytini tekshirishingiz mumkin.
Xulosa
Supabase eng yaxshi ochiq manba hisoblanadi Google Firebase-ga muqobil. PostgreSQL-ning kuchi tufayli u turli xil ajoyib xususiyatlarni taqdim etadi va boshqa real vaqtda ma'lumotlar bazasi tizimlari kabi ma'lumotlar turiga cheklovlar yo'q.
Supabase va uning ajoyib xususiyatlaridan foydalangan holda turli xil ilovalar yaratishingiz mumkin. Bugun sinab ko'ring!
Marcelo
B2B SaaS bo'lsa, har bir mijozga 1 ta asosiy foydalanuvchi va ushbu master bilan bog'liq bo'lgan boshqa N foydalanuvchi faqat ushbu mijozning ma'lumotlari bilan shug'ullanishi mumkinmi?