Inhaltsverzeichnis[Ausblenden][Zeigen]
Backend-as-a-Service (BaaS) ist ein Serviceparadigma, bei dem Entwickler die hinter den Kulissen liegenden Komponenten der Web- oder Mobilentwicklung auslagern, damit sie sich auf den Aufbau und die Wartung des Frontends auf Plug-and-Play-Basis konzentrieren können Entgehen Sie der Last, serverseitigen Code zu schreiben.
Software, die serverseitige Aufgaben wie Authentifizierung, Datenbankverwaltung, Echtzeitaktualisierung, Speicherung, Hosting und Push-Benachrichtigungen unterstützt, wird von BaaS-Plattformen (für mobile Apps) bereitgestellt.
Obwohl verschiedene Backend-Dienste im Grunde dieselbe Lösung bieten, verwenden sie unterschiedliche Backend-Technologien. Dies ist für viele Entwickler ein entscheidender Faktor bei der Auswahl des besten Dienstes für ein bestimmtes Projekt.
In diesem Artikel tauchen wir tief in Supabase ein.
Was ist Superbasis?
Superbasis ist eine Open-Source-Firebase-Alternative, die Backend as a Service für eine Vielzahl von Anwendungen anbietet. Es ist wirklich einfach einzurichten und funktioniert schnell mit einer Vielzahl von Frameworks. Supabase bezeichnet sich selbst als Open-Source-Ersatz für Firebase.
Es soll Entwicklern dabei helfen, ihr Backend schnell einzurichten. „An einem Wochenende bauen, auf Millionen anwachsen“, sagt Supabase.
Supabase-Produkte umfassen eine Postgres-Datenbank und einen Authentifizierungsdienst, wobei Speicher- und serverlose Dienste (für die Backend-Logik) noch in Arbeit sind. Alle seine Tools sind größtenteils kostenlos und Open Source. Die Postgres-Datenbank enthält datenbankbezogene Tools, wie z. B. die Echtzeitüberwachung von Datenbankänderungen und eine Verwaltungsschnittstelle.
Darüber hinaus bietet es schnelle APIs und Syntax, die mit denen von Firebase vergleichbar sind. Auf diese Weise können Sie CRUD-Aufgaben konsistent handhaben, sodass Sie sich auf das Erstellen konzentrieren können, anstatt sich wiederholenden CRUD-Code neu zu schreiben.
Die Postgres-Datenbank ist eine Tabelle, mit der Sie organisierte und verbundene Daten auf die gleiche Weise wie in einer Tabellenkalkulation speichern können. Überraschenderweise können Sie beim Erstellen eines Projekts eine vorhandene Tabelle als Ihre Postgres-Datenbank verwenden.
Wie funktioniert Supabase?
Supabase ist eine Sammlung von Free-Source-Technologien. Sie erstellen Firebase-Funktionen mit Open-Source-Lösungen der Enterprise-Klasse. Wenn die Tools und Communities unter einer MIT-, Apache 2- oder einer vergleichbaren offenen Lizenz verfügbar sind, werden sie diese verwenden und unterstützen.
Wenn das Tool noch nicht existiert, erstellen sie es und stellen es als zur Verfügung Open-Source. Supabase ist keine 1:1-Abbildung von Firebase. Ihr Ziel ist es, Entwicklern eine Firebase-ähnliche Entwicklungserfahrung zu bieten Open-Source- Technologien.
Supabase ist eine Plattform, die gehostet wird. Sie können sich anmelden und es verwenden, ohne etwas installieren zu müssen. Sie können auch selbst hosten und auf Ihrem eigenen Server bauen.
- PostgreSQL hat einen hervorragenden Ruf für Stabilität, Robustheit und Geschwindigkeit; Nach mehr als 30 Jahren aktiver Entwicklung,
- Realtime ist ein Elixir-Server, mit dem Sie PostgreSQL-Einfügungen, -Aktualisierungen und -Löschungen mit WebSockets abhören können. Supabase wartet auf Replikationsanforderungen von Postgres, konvertiert den Replikations-Bytestrom in JSON und sendet dann JSON über WebSockets.
- PostgREST ist ein Webserver, der Ihre PostgreSQL-Datenbank in eine RESTful-API umwandelt.
- Storage bietet eine RESTful-Schnittstelle zum Verwalten von Dateien, die in S3 gespeichert sind, mit Postgres als Rechtemanager.
- Postgres-meta ist eine RESTful-API zur Verwaltung von Postgres, mit der Sie unter anderem Tabellen herunterladen, Verantwortlichkeiten zuweisen und Abfragen durchführen können.
- GoTrue ist eine SWT-basierte API, mit der Sie Benutzer verwalten und SWT-Token ausstellen können.
- Kong ist ein API-Gateway, das in der Cloud ausgeführt wird.
Erste Schritte
1. Projekt
In Supabase ist ein Projekt ein Container für alle Ihre Datenbanken, Authentifizierungsbenutzer, Regeln, Tabellen und Dateispeicher.
Es gibt mehrere Orte, an denen Sie Ihr Projekt hosten können, und Supabase-Administratoren fügen ständig neue Sites hinzu, um die Latenz zu verringern. Die Erstellung eines Projekts dauert etwa 2 Minuten, also holen Sie sich einen Kaffee, lehnen Sie sich zurück und entspannen Sie sich.
2. Projekt-Dashboard
Wenn Ihr Projekt abgeschlossen ist, wird Ihnen ein Dashboard ähnlich dem unten gezeigten angezeigt. Dieses Dashboard zeigt Ihnen alles, was Sie über Ihr Projekt wissen müssen, einschließlich Datenbankverbindungen, Authentifizierungsanfragen, Speicherkapazität, Implementierung der Client-Bibliothek und mehr.
3. Tabellenersteller und -editor
Die Datenbank von Supabase ist ein relationales PostgreSQL mit Echtzeitfähigkeiten und Richtlinienzugriffskontrolle unter Verwendung von Postgres RLS (Row Level Security). Entwickler können das Dashboard von Supabase verwenden, um eine Tabelle zu erstellen und Spalten und Eigenschaften hinzuzufügen. Entwickler können mit Supabase Daten direkt vom Dashboard aus ändern.
4. Authentifizierung
Google, GitHub, Facebook, Twitter, GitLab und weitere Authentifizierungsanbieter sind auf Supabase verfügbar. Diese können über das Authentifizierungsfeld aktiviert werden. Es unterstützt auch Telefon-OTP und Magic Link-Authentifizierung.
5 Lagerung
Supabase ist ein Open-Source-Objektspeichersystem, das jeden Dateityp verarbeiten kann und über eine integrierte Skalierbarkeit verfügt. Es verfügt über eine benutzerfreundliche API, die benutzerdefinierte Regeln und Berechtigungen ermöglicht. Die CDN-Integration sowie die automatische Transformation und Optimierung (Größenänderung und Komprimierung Ihres Materials) werden in Kürze verfügbar sein. Supabase-Speicher wird mit der Einbeziehung dieser Funktionen ein beeindruckender Konkurrent von Firebase-Speicher sein.
Was kann man mit Supabase bauen? (Einige Beispiele)
1. Abonnementzahlung mit Supabase + Stripe + Next.js.
Das komplette Starter-Set für leistungsstarke SaaS-Apps.
- Supabase bietet eine sichere Benutzerverwaltung und -authentifizierung.
- Stripe Checkout und die Integration des Stripe-Kundenportals.
- Supabase bietet leistungsstarke Datenzugriffs- und Verwaltungstools zusätzlich zu PostgreSQL.
- Stripe-Webhooks ermöglichen die automatische Synchronisierung von Preisplänen und Abonnementstatus.
2. KeepLink: Einfacher Lesezeichendienst mit Tags und Archiv
KeepLink ist ein einfacher Lesezeichendienst mit Tags und einem Archiv, das mit Supabase und Next.js erstellt wurde. Es hat keine Social-Sharing-Funktionen, aber Sie können Ihre eigene Instanz hosten.
- Taggen Sie neue Lesezeichen automatisch basierend auf bestehenden Tags.
- Volltextsuche nach URLs, Titeln, Beschreibungen, Tags und Archivinhalten dank des Supabase-Stacks, Tagging-Aliase für Admin-Datenbanken und restful API-Zugriff ist jetzt möglich.
- Mit Metascraper können Sie automatisch Titel und Beschreibungen für Ihre Seiten sammeln. Sie können Ihre Seiten auch mit SinglePage und Headless Chrome archivieren.
3. Echtzeit-Chat-App mit Supabase + Reagieren
- Für Echtzeit-Messaging wird Supabase (auf PostgreSQL) verwendet.
- Front-End verwendet React (CRA) + Vite
- Die verwendete UI-Bibliothek ist Chakra UI.
Merkmale
Hier sind einige der Funktionen von Supabase:
- Ein Dashboard/Benutzeroberfläche zum Einrichten und Verwalten Ihrer Datenbank in weniger als einer Minute.
- Wenden Sie die Benutzerauthentifizierung an, um Benutzer anzumelden und Zugriffsbeschränkungen in Ihrer Datenbank zu aktualisieren.
- APIs und eine JavaScript-Bibliothek.
- Datenbank-Listener in Echtzeit.
- Die Funktionen (irgendwie). Dies sind gespeicherte Datenbankprozeduren, die in SQL, JavaScript, Python oder Java geschrieben sein können.
Vorteile
Supabase zeichnet sich aus folgenden Gründen aus:
- Im Gegensatz zu Firebase können Sie komplizierte Abfragen oder Textsuchen ausführen.
- Supabase übernimmt die Skalierung für Sie (obwohl es eine SQL-Datenbank verwendet)
- Die Datenmigration ist mit Supabase einfach, da es PostgreSQL nutzt, und Sie können Daten mit einer .sql-Datei importieren.
Nachteile
Es gibt einige Nachteile bei der Einführung von Supabase. Sie sind wie folgt:
- Um Änderungen in Echtzeit zu erhalten, müssen Sie die Replikationsfunktion für eine Tabelle aktivieren.
- Wenn Echtzeit-Updates aktiviert sind, gelten die Sicherheitsrichtlinien von Supabase nicht.
- Die Funktionen sind begrenzt.
- Sein SDK funktioniert nur mit JavaScript (Unterstützung für andere Sprachen befindet sich noch in der Beta-Phase)
AnzeigenPreise
1. Freie Stufe
- Datenbank mit 500 MB Speicherplatz und unbegrenzten API-Aufrufen
- Authentifizierung – Bis zu 10,000 Benutzer
- Dateispeicher – Bis zu 1 GB Speicher, mit monatlichen Übertragungsbeschränkungen von bis zu 2 GB.
2. Bezahlen Sie nach Belieben
- Datenbank – 0.125 $ pro GB Speicher, ohne Begrenzung der API-Aufrufe
- Authentifizierung – Unbegrenzt
- Dateispeicher – Gespeicherte Daten 0.021 $ pro GB bei einer Datenübertragung von 0.07 $/GB
Weitere Preisinformationen finden Sie auf ihrer Website.
Zusammenfassung
Supabase ist das beste Open-Source Alternative zu Googles Firebase. Aufgrund der Leistungsfähigkeit von PostgreSQL bietet es verschiedene bemerkenswerte Funktionen und hat keine Datentypbeschränkungen wie andere Echtzeit-Datenbanksysteme.
Mit Supabase und seinen hervorragenden Funktionen können Sie eine Vielzahl von Apps erstellen. Probieren Sie es noch heute aus!
Marcelo
Ist es im Falle eines B2B-SaaS möglich, einen Master-Benutzer pro Kunde zu haben und andere N Benutzer, die mit diesem Master verbunden sind, sich nur mit Daten dieses Kunden zu befassen?