Съдържание[Крия][Покажи]
Backend-as-a-Service (BaaS) е парадигма на услугата, при която разработчиците възлагат задкулисните компоненти на уеб или мобилна разработка, така че да могат да се съсредоточат върху изграждането и поддържането на интерфейса на базата на plug-and-play и избягвайте тежестта на писане на код от страна на сървъра.
Софтуерът, поддържащ задачи от страна на сървъра, като удостоверяване, администриране на база данни, актуализиране в реално време, съхранение, хостинг и push сигнали, се предоставя от BaaS платформи (за мобилни приложения).
Въпреки че различните бекенд услуги предоставят основно едно и също решение, те използват различни бекенд технологии. Това е решаващ фактор за много разработчици при избора на най-добрата услуга за определен проект.
В тази статия ще се потопим дълбоко в Supabase.
Какво е Супабаза?
Супабаза е алтернатива на Firebase с отворен код, която предлага Backend като услуга за различни приложения. Той е наистина лесен за настройка и работи бързо с различни рамки. Supabase се таксува като заместител на Firebase с отворен код.
Той възнамерява да бъде от полза на разработчиците при бързото настройване на техния бекенд. „Изградете за един уикенд, разраснете до милиони“, казва Supabase.
Продуктите на Supabase включват база данни Postgres и услуга за удостоверяване, като услугите за съхранение и безсървърни услуги (за бекенд логика) все още се разработват. Всичките му инструменти са предимно безплатни и с отворен код. Базата данни на Postgres включва инструменти, свързани с база данни, като мониторинг в реално време на модификациите на базата данни и интерфейс за управление.
Освен това, той предоставя бързи API и синтаксис, които са сравними с тези на Firebase. Това ви позволява да се справяте със задачите на CRUD по последователен начин, което ви позволява да се съсредоточите върху създаването, вместо да пренаписвате повтарящ се CRUD код.
Базата данни на Postgres е таблица, която ви позволява да съхранявате организирани и свързани данни по същия начин, както бихте направили в електронна таблица. Изненадващо, когато създавате проект, можете да използвате съществуваща електронна таблица като ваша база данни на Postgres.
Как действа Supabase?
Supabase е колекция от технологии с безплатен код. Те създават функции на Firebase с корпоративни решения с отворен код. Ако инструментите и общностите са налични под MIT, Apache 2 или подобен отворен лиценз, те ще ги използват и поддържат.
Ако инструментът все още не съществува, те го създават и го правят достъпен като с отворен код. Supabase не е 1:1 картографиране на Firebase. Тяхната цел е да предоставят на разработчиците опит за разработка, подобен на Firebase с отворен код технологии.
Supabase е платформа, която се хоства. Можете да се регистрирате и да започнете да го използвате, без да се налага да инсталирате нищо. Можете също да хоствате самостоятелно и да изграждате на свой собствен сървър.
- PostgreSQL има страхотна репутация за стабилност, стабилност на функциите и скорост; След повече от 30 години активно развитие,
- Realtime е сървър на Elixir, който ви позволява да слушате PostgreSQL вмъквания, актуализации и изтривания с помощта на WebSockets. Supabase слуша заявки за репликация от Postgres, преобразува потока от байтове за репликация в JSON и след това излъчва JSON чрез WebSockets.
- PostgREST е уеб сървър, който преобразува вашата PostgreSQL база данни в RESTful API.
- Storage предоставя RESTful интерфейс за управление на файлове, съхранявани в S3, с Postgres като мениджър на права.
- Postgres-meta е RESTful API за администриране на Postgres, който ви позволява да изтегляте таблици, да възлагате отговорности и да извършвате запитвания, наред с други неща.
- GoTrue е базиран на SWT API, който ви позволява да управлявате потребители и да издавате SWT токени.
- Kong е API шлюз, който работи в облака.
Първи стъпки
1. Проект
В Supabase проектът е контейнер за всички ваши бази данни, потребители за удостоверяване, правила, таблици и съхранение на файлове.
Има няколко места, от които да хоствате вашия проект, а администраторите на Supabase непрекъснато добавят нови сайтове, за да намалят забавянето. Създаването на проект отнема около 2 минути, така че вземете кафе, седнете и се отпуснете.
2. Табло за управление на проекта
Когато вашият проект приключи, ще ви бъде представено табло за управление, подобно на показаното по-долу. Това табло ви показва всичко, което трябва да знаете за вашия проект, включително връзки към база данни, заявки за удостоверяване, капацитет за съхранение, внедряване на клиентска библиотека и други.
3. Създател и редактор на таблица
Базата данни на Supabase е релационен PostgreSQL с възможности в реално време и контрол на достъпа до политики с помощта на Postgres RLS (Сигурност на ниво ред). Разработчиците могат да използват таблото за управление на Supabase, за да създадат таблица и да добавят колони и свойства. Разработчиците могат да променят данните направо от таблото за управление със Supabase.
4. Удостоверяване
Google, GitHub, Facebook, Twitter, GitLab и други доставчици на удостоверяване са налични в Supabase. Те могат да бъдат включени с помощта на панела за удостоверяване. Той също така поддържа Phone OTP и Magic Link Authentication.
5. съхранение
Supabase е система за съхранение на обекти с отворен код, която може да обработва всеки тип файл и има вградена скалируемост. Той има лесен за използване API, който позволява персонализирани правила и разрешения. Интеграцията на CDN, както и автоматичната трансформация и оптимизация (преоразмеряване и компресиране на вашия материал), ще бъдат достъпни скоро. Съхранението на Supabase ще бъде страхотен съперник на хранилището на Firebase с включването на тези възможности.
Какво можете да изградите със Supabase? (Няколко примера)
1. Абонаментно плащане със Supabase + Stripe + Next.js.
Пълният стартов комплект за високопроизводителни SaaS приложения.
- Supabase осигурява сигурна потребителска администрация и удостоверяване.
- Stripe Checkout и интеграция на клиентския портал на Stripe.
- Supabase предоставя мощни инструменти за достъп до данни и управление на върха на PostgreSQL.
- Stripe webhooks позволяват автоматично синхронизиране на ценовите планове и статусите на абонамента.
2. KeepLink: Проста услуга за отметки с етикети и архив
KeepLink е основна услуга за отметки с тагове и архив, изграден със Supabase и Next.js. Той няма никакви функции за социално споделяне, но можете да хоствате свой собствен екземпляр.
- Автоматично маркирайте нови отметки въз основа на съществуващи тагове.
- Пълнотекстово търсене на URL адреси, заглавия, описания, етикети и архивно съдържание благодарение на стека Supabase, маркиране на псевдоними за администраторски бази данни и спокоен достъп до API вече е възможен.
- С metascraper можете автоматично да събирате заглавия и описания за вашите страници. Можете също да архивирате страниците си с SinglePage и Headless Chrome.
3. Приложение за чат в реално време със Supabase + React
- За съобщения в реално време се използва Supabase (върху PostgreSQL).
- Front-end използва React (CRA) + Vite
- Използваната UI библиотека е Chakra UI.
Основни функции
Ето някои от характеристиките на Supabase:
- Табло за управление/потребителски интерфейс за настройка и администриране на вашата база данни за по-малко от минута.
- За да регистрирате потребители и да актуализирате ограниченията за достъп във вашата база данни, приложете удостоверяване на потребителя.
- API и библиотека на JavaScript.
- Слушатели на база данни в реално време.
- Функциите (нещо като). Това са съхранени процедури в база данни, които могат да бъдат написани на SQL, JavaScript, Python или Java.
Професионалисти
Supabase се отличава по следните причини:
- За разлика от Firebase, можете да изпълнявате сложни заявки или текстови търсения.
- Supabase се грижи за мащабирането вместо вас (въпреки че използва SQL база данни)
- Миграцията на данни е лесна със Supabase, тъй като използва PostgreSQL и можете да импортирате данни с помощта на a.sql файл.
Против
Има някои недостатъци при приемането на Supabase. Те са както следва:
- За да получавате промени в реално време, трябва да активирате функцията за репликация за таблица.
- Когато актуализациите в реално време са активирани, политиките за сигурност на Supabase не се прилагат.
- Функциите са ограничени.
- Неговият SDK работи само с JavaScript (поддръжката за други езици все още е в бета версия)
Планове
1. Безплатно ниво
- База данни с 500 MB пространство за съхранение и неограничени API обаждания
- Удостоверяване – до 10,000 XNUMX потребители
- Съхранение на файлове – До 1 GB място за съхранение, с месечни ограничения за трансфер до 2 GB.
2. Плащайте, докато отивате
- База данни – $0.125 на GB място за съхранение, без ограничения за API повиквания
- Auth – неограничен
- Съхранение на файлове – Съхранени данни $0.021 на GB с трансфер на данни от $0.07/GB
За повече информация за цените можете да разгледате уебсайта им.
Заключение
Supabase е най-добрият отворен код алтернатива на Firebase на Google. Поради мощта на PostgreSQL, той предлага различни забележителни функции и няма ограничения за типа данни като други системи за бази данни в реално време.
Можете да създавате различни приложения, използвайки Supabase и неговите отлични функции. Опитайте го днес!
Марсело
В случай на B2B SaaS, възможно ли е да има 1 главен потребител на клиент и други N потребители, свързани с този главен потребител, работещи само с данни от този клиент?