Spis treści[Ukryć][Pokazać]
Backend-as-a-Service (BaaS) to paradygmat usług, w którym programiści zlecają na zewnątrz zakulisowe komponenty tworzenia stron internetowych lub urządzeń mobilnych, aby mogli skupić się na budowaniu i utrzymywaniu frontendu na zasadzie plug-and-play i uniknąć ciężaru pisania kodu po stronie serwera.
Oprogramowanie obsługujące zadania po stronie serwera, takie jak uwierzytelnianie, administrowanie bazą danych, aktualizacja w czasie rzeczywistym, przechowywanie, hosting i alerty push, jest dostarczane przez platformy BaaS (dla aplikacji mobilnych).
Chociaż różne usługi zaplecza zasadniczo zapewniają to samo rozwiązanie, korzystają z różnych technologii zaplecza. Jest to decydujący czynnik dla wielu programistów przy wyborze najlepszej usługi dla określonego projektu.
W tym artykule zagłębimy się w Supabase.
Co to jest Subabaza?
Subabaza to alternatywa dla Firebase typu open source, która oferuje zaplecze jako usługę dla różnych aplikacji. Jest naprawdę prosty w konfiguracji i działa szybko z różnymi frameworkami. Supabase rozlicza się jako zamiennik Firebase typu open source.
Zamierza przynieść korzyści programistom w szybkim konfigurowaniu zaplecza. „Zbuduj w weekend, urośnij do milionów” — mówi Supabase.
Produkty Supabase obejmują bazę danych Postgres i usługę uwierzytelniania, z usługami pamięci masowej i bezserwerowymi (dla logiki zaplecza) wciąż w toku. Wszystkie jego narzędzia są w większości darmowe i open-source. Baza danych Postgres zawiera narzędzia związane z bazą danych, takie jak monitorowanie zmian w bazie danych w czasie rzeczywistym oraz interfejs zarządzania.
Ponadto zapewnia szybkie interfejsy API i składnię, które są porównywalne z Firebase. Pozwala to na obsługę zadań CRUD w spójny sposób, co pozwala skupić się na tworzeniu, a nie na przepisywaniu powtarzającego się kodu CRUD.
Baza danych Postgres to tabela, która umożliwia przechowywanie uporządkowanych i połączonych danych w taki sam sposób, jak w arkuszu kalkulacyjnym. Co zaskakujące, podczas tworzenia projektu możesz użyć istniejącego arkusza kalkulacyjnego jako bazy danych Postgres.
Jak działa Supabase?
Supabase to zbiór technologii wolnego źródła. Tworzą funkcje Firebase za pomocą rozwiązań open source klasy korporacyjnej. Jeśli narzędzia i społeczności są dostępne na licencji MIT, Apache 2 lub porównywalnej otwartej licencji, będą z nich korzystać i wspierać.
Jeśli narzędzie jeszcze nie istnieje, tworzą je i udostępniają jako open-source. Supabase nie jest odwzorowaniem Firebase w skali 1:1. Ich celem jest zapewnienie programistom doświadczenia programistycznego podobnego do Firebase open source technologii.
Supabase to platforma, która jest hostowana. Możesz się zarejestrować i zacząć z niego korzystać bez konieczności instalowania czegokolwiek. Możesz także samodzielnie hostować i budować na własnym serwerze.
- PostgreSQL ma doskonałą reputację ze względu na stabilność, solidność funkcji i szybkość; Po ponad 30 latach aktywnego rozwoju,
- Realtime to serwer Elixir, który umożliwia słuchanie wkładek, aktualizacji i usunięć PostgreSQL za pomocą WebSockets. Supabase nasłuchuje żądań replikacji z Postgres, konwertuje strumień bajtów replikacji na JSON, a następnie rozgłasza JSON przez WebSockets.
- PostgREST to serwer WWW, który konwertuje bazę danych PostgreSQL na RESTful API.
- Storage zapewnia interfejs RESTful do zarządzania plikami przechowywanymi w S3, z Postgres jako menedżerem praw.
- Postgres-meta to RESTful API do administrowania Postgres, które umożliwia między innymi pobieranie tabel, przypisywanie obowiązków i przeprowadzanie zapytań.
- GoTrue to API oparte na SWT, które pozwala zarządzać użytkownikami i wydawać tokeny SWT.
- Kong to brama API działająca w chmurze.
Pierwsze kroki
1. Projekt
W Supabase projekt jest kontenerem dla wszystkich twoich baz danych, uwierzytelniających użytkowników, reguł, tabel i przechowywania plików.
Istnieje kilka miejsc, z których można hostować swój projekt, a administratorzy Supabase stale dodają nowe witryny, aby zmniejszyć opóźnienia. Tworzenie projektu zajmuje około 2 minut, więc napij się kawy, usiądź wygodnie i zrelaksuj się.
2. Panel projektu
Po zakończeniu projektu zostanie wyświetlony pulpit nawigacyjny podobny do pokazanego poniżej. Ten pulpit nawigacyjny pokazuje wszystko, co musisz wiedzieć o swoim projekcie, w tym połączenia z bazą danych, żądania uwierzytelnienia, pojemność pamięci masowej, implementację biblioteki klienta i wiele innych.
3. Twórca i Edytor Tabeli
Baza danych Supabase to relacyjny PostgreSQL z możliwościami w czasie rzeczywistym i kontrolą dostępu do zasad przy użyciu Postgres RLS (Row Level Security). Deweloperzy mogą używać pulpitu nawigacyjnego Supabase do konstruowania tabeli i dodawania kolumn i właściwości. Deweloperzy mogą modyfikować dane bezpośrednio z pulpitu nawigacyjnego za pomocą Supabase.
4. Uwierzytelnienie
Google, GitHub, Facebook, Twitter, GitLab i inni dostawcy uwierzytelniania są dostępni w Supabase. Można je włączyć za pomocą Panelu uwierzytelniania. Obsługuje również uwierzytelnianie telefonu OTP i Magic Link.
5. Przechowywanie
Supabase to obiektowy system przechowywania danych typu open source, który może obsługiwać dowolny typ plików i ma wbudowaną skalowalność. Posiada łatwy w użyciu interfejs API, który umożliwia niestandardowe reguły i uprawnienia. Integracja z CDN, a także automatyczna transformacja i optymalizacja (zmiana rozmiaru i kompresja materiału) będą dostępne wkrótce. Dzięki tym możliwościom pamięć Supabase będzie potężnym rywalem dla pamięci masowej Firebase.
Co możesz zbudować z Supabase? (Kilka przykładów)
1. Opłata abonamentowa z Supabase + Stripe + Next.js.
Kompletny zestaw startowy dla wydajnych aplikacji SaaS.
- Supabase zapewnia bezpieczną administrację i uwierzytelnianie użytkowników.
- Stripe Checkout i integracja portalu klienta Stripe.
- Supabase zapewnia potężne narzędzia dostępu do danych i zarządzania nimi na bazie PostgreSQL.
- Webhooki Stripe umożliwiają automatyczną synchronizację planów cenowych i statusów subskrypcji.
2. KeepLink: Prosta usługa zakładek z tagami i archiwum
KeepLink to podstawowa usługa zakładek z tagami i archiwum zbudowanym z Supabase i Next.js. Nie ma żadnych funkcji udostępniania społecznościowego, ale możesz hostować własną instancję.
- Oznaczaj nowe zakładki automatycznie na podstawie istniejących tagów.
- Wyszukiwanie pełnotekstowe adresów URL, tytułów, opisów, tagów i zawartości archiwów dzięki stosowi Supabase, oznaczaniu aliasów dla baz danych administracyjnych i dostępowi do API w celu odpoczynku jest teraz możliwe.
- Dzięki metascraper możesz automatycznie gromadzić tytuły i opisy swoich stron. Możesz także archiwizować swoje strony za pomocą SinglePage i Headless Chrome.
3. Aplikacja czatu w czasie rzeczywistym z Supabase + React
- Do przesyłania wiadomości w czasie rzeczywistym używany jest Supabase (oprócz PostgreSQL).
- Front-end wykorzystuje React (CRA) + Vite
- Używana biblioteka interfejsu użytkownika to Chakra UI.
Podstawowe dane
Oto niektóre z funkcji Supabase:
- Pulpit nawigacyjny/interfejs użytkownika do konfigurowania i administrowania bazą danych w mniej niż minutę.
- Aby zarejestrować użytkowników i zaktualizować ograniczenia dostępu do bazy danych, zastosuj uwierzytelnianie użytkownika.
- API i biblioteka JavaScript.
- Słuchacze bazy danych w czasie rzeczywistym.
- Funkcje (trochę). Są to procedury składowane w bazie danych, które mogą być napisane w języku SQL, JavaScript, Python lub Java.
ZALETY
Supabase wyróżnia się z następujących powodów:
- W przeciwieństwie do Firebase możesz uruchamiać skomplikowane zapytania lub wyszukiwania tekstowe.
- Supabase zajmie się skalowaniem za Ciebie (mimo że korzysta z bazy danych SQL)
- Migracja danych jest prosta dzięki Supabase, ponieważ wykorzystuje PostgreSQL i możesz importować dane za pomocą pliku .sql.
Wady
Istnieją pewne wady przyjęcia Supabase. Są one następujące:
- Aby otrzymywać zmiany w czasie rzeczywistym, należy aktywować funkcję replikacji dla tabeli.
- Gdy włączone są aktualizacje w czasie rzeczywistym, zasady bezpieczeństwa Supabase nie mają zastosowania.
- Funkcje są ograniczone.
- Jego SDK działa tylko z JavaScript (obsługa innych języków jest nadal w fazie beta)
Cennik
1. Poziom bezpłatny
- Baza danych z 500 MB przestrzeni dyskowej i nieograniczonymi wywołaniami API
- Uwierzytelnianie — do 10,000 XNUMX użytkowników
- Przechowywanie plików — do 1 GB przestrzeni dyskowej, z miesięcznym ograniczeniem transferu do 2 GB.
2. Płać na bieżąco
- Baza danych – 0.125 USD za GB przestrzeni dyskowej, bez limitów wywołań API
- Uwierzytelnianie — nieograniczone
- Przechowywanie plików — przechowywanie danych 0.021 USD za GB przy transferze danych 0.07 USD/GB
Aby uzyskać więcej informacji o cenach, możesz sprawdzić ich stronę internetową.
Wnioski
Supabase to najlepsze oprogramowanie typu open source alternatywa dla Google Firebase. Ze względu na moc PostgreSQL oferuje różne niezwykłe funkcje i nie ma żadnych ograniczeń typu danych, jak inne systemy baz danych czasu rzeczywistego.
Możesz tworzyć różnorodne aplikacje za pomocą Supabase i jego doskonałych funkcji. Spróbuj już dziś!
Marcelo
Czy w przypadku B2B SaaS możliwe jest posiadanie 1 głównego użytkownika na klienta i N innych użytkowników powiązanych z tym głównym, zajmujących się tylko danymi od tego klienta?