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