Содержание[Скрывать][Показывать]
Backend-as-a-Service (BaaS) — это сервисная парадигма, в которой разработчики передают на аутсорсинг закулисные компоненты веб-разработки или мобильной разработки, чтобы они могли сосредоточиться на создании и обслуживании внешнего интерфейса на основе plug-and-play и избежать бремени написания серверного кода.
Программное обеспечение, поддерживающее задачи на стороне сервера, такие как аутентификация, администрирование базы данных, обновление в реальном времени, хранение, хостинг и push-оповещения, предоставляется платформами BaaS (для мобильных приложений).
Несмотря на то, что различные серверные службы в основном предоставляют одно и то же решение, они используют разные серверные технологии. Для многих разработчиков это является решающим фактором при выборе лучшего сервиса для конкретного проекта.
В этой статье мы углубимся в Supabase.
Что такое Супабаза?
Супабаза — это альтернатива Firebase с открытым исходным кодом, которая предлагает Backend as a Service для различных приложений. Его очень просто настроить, и он быстро работает с различными фреймворками. 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.
- Storage предоставляет интерфейс 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. Их можно включить с помощью панели аутентификации. Он также поддерживает телефонный OTP и аутентификацию 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).
- Интерфейс использует React (CRA) + Vite
- Используемая библиотека пользовательского интерфейса — Chakra UI.
Главные преимущества
Вот некоторые особенности 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 — лучший опенсорс альтернатива Google Firebase. Благодаря мощности PostgreSQL он предлагает различные замечательные функции и не имеет ограничений по типам данных, как другие системы баз данных реального времени.
Вы можете создавать различные приложения, используя Supabase и ее отличные функции. Попробуйте сегодня!
Marcelo
В случае B2B SaaS возможно ли иметь по одному главному пользователю на каждого клиента и N других пользователей, связанных с этим главным пользователем, которые будут работать только с данными этого клиента?