Table des matières[Cacher][Montrer]
Backend-as-a-Service (BaaS) est un paradigme de service dans lequel les développeurs externalisent les composants en arrière-plan du développement Web ou mobile afin qu'ils puissent se concentrer sur la construction et la maintenance du frontend sur une base plug-and-play et échapper au fardeau de l'écriture de code côté serveur.
Les logiciels prenant en charge les tâches côté serveur telles que l'authentification, l'administration de la base de données, la mise à jour en temps réel, le stockage, l'hébergement et les alertes push sont fournis par les plates-formes BaaS (pour les applications mobiles).
Même si divers services backend fournissent fondamentalement la même solution, ils utilisent des technologies backend distinctes. C'est un facteur décisif pour de nombreux développeurs lors du choix du meilleur service pour un projet donné.
Dans cet article, nous allons plonger en profondeur dans Supabase.
Qu’est ce qu' Supbase?
Supbase est une alternative Firebase open source qui offre un backend en tant que service à une variété d'applications. Il est vraiment simple à configurer et fonctionne rapidement avec une variété de cadres. Supabase se présente comme un remplaçant open source de Firebase.
Il entend profiter aux développeurs pour mettre en place rapidement leur backend. "Construisez en un week-end, passez à des millions", déclare Supabase.
Les produits Supabase incluent une base de données Postgres et un service d'authentification, avec des services de stockage et sans serveur (pour la logique backend) toujours en préparation. Tous ses outils sont pour la plupart gratuits et open-source. La base de données Postgres comprend des outils liés à la base de données, tels que la surveillance en temps réel des modifications de la base de données et une interface de gestion.
De plus, il fournit des API rapides et une syntaxe comparable à celle de Firebase. Cela vous permet de gérer les tâches CRUD de manière cohérente, vous permettant de vous concentrer sur la création plutôt que sur la réécriture répétitive du code CRUD.
La base de données Postgres est une table qui vous permet de stocker des données organisées et connectées de la même manière que vous le feriez dans une feuille de calcul. Étonnamment, lorsque vous créez un projet, vous pouvez utiliser une feuille de calcul existante comme base de données Postgres.
Comment fonctionne Supabase ?
Supabase est une collection de technologies libres. Ils créent des fonctionnalités Firebase avec des solutions open source de niveau entreprise. Si les outils et les communautés sont disponibles sous une licence ouverte MIT, Apache 2 ou comparable, ils les utiliseront et les prendront en charge.
Si l'outil n'existe pas déjà, ils le créent et le rendent disponible en tant que open-source. Supabase n'est pas un mappage 1:1 de Firebase. Leur objectif est de fournir aux développeurs une expérience de développement de type Firebase en utilisant open source les technologies.
Supabase est une plateforme hébergée. Vous pouvez vous inscrire et commencer à l'utiliser sans avoir à installer quoi que ce soit. Vous pouvez également vous auto-héberger et construire sur votre propre serveur.
- PostgreSQL est réputé pour sa stabilité, sa robustesse et sa rapidité. Après plus de 30 ans de développement actif,
- Realtime est un serveur Elixir qui vous permet d'écouter les insertions, mises à jour et suppressions PostgreSQL à l'aide de WebSockets. Supabase écoute les demandes de réplication de Postgres, convertit le flux d'octets de réplication en JSON, puis diffuse le JSON via WebSockets.
- PostgREST est un serveur Web qui convertit votre base de données PostgreSQL en une API RESTful.
- Le stockage fournit une interface RESTful pour gérer les fichiers stockés dans S3, avec Postgres comme gestionnaire de droits.
- Postgres-meta est une API RESTful pour l'administration de Postgres qui vous permet de télécharger des tables, d'attribuer des responsabilités et de mener des requêtes, entre autres.
- GoTrue est une API basée sur SWT qui vous permet de gérer les utilisateurs et d'émettre des jetons SWT.
- Kong est une passerelle API qui s'exécute sur le cloud.
Commencer
1. Projet
Dans Supabase, un projet est un conteneur pour toutes vos bases de données, utilisateurs d'authentification, règles, tables et stockage de fichiers.
Il existe plusieurs endroits à partir desquels héberger votre projet, et les administrateurs de Supabase ajoutent constamment de nouveaux sites pour réduire la latence. Un projet prend environ 2 minutes à créer, alors prenez un café, asseyez-vous et détendez-vous.
2. Tableau de bord du projet
Une fois votre projet terminé, un tableau de bord similaire à celui présenté ci-dessous vous sera présenté. Ce tableau de bord vous montre tout ce que vous devez savoir sur votre projet, y compris les connexions à la base de données, les demandes d'authentification, la capacité de stockage, la mise en œuvre de la bibliothèque cliente, etc.
3. Créateur et éditeur de tableaux
La base de données de Supabase est un PostgreSQL relationnel avec des capacités en temps réel et un contrôle d'accès aux politiques à l'aide de Postgres RLS (Row Level Security). Les développeurs peuvent utiliser le tableau de bord de Supabase pour construire une table et ajouter des colonnes et des propriétés. Les développeurs peuvent modifier les données directement depuis le tableau de bord avec Supabase.
4. Authentification
Google, GitHub, Facebook, Twitter, GitLab et d'autres fournisseurs d'authentification sont disponibles sur Supabase. Ceux-ci peuvent être activés à l'aide du panneau d'authentification. Il prend également en charge l'authentification Phone OTP et Magic Link.
5. Espace de rangement
Supabase est un système de stockage d'objets open source qui peut gérer n'importe quel type de fichier et possède une évolutivité intégrée. Il dispose d'une API facile à utiliser qui permet des règles et des autorisations personnalisées. L'intégration CDN, ainsi que l'auto-transformation et l'optimisation (redimensionnement et compression de votre matériel), seront disponibles sous peu. Le stockage Supabase sera un formidable rival du stockage Firebase avec l'inclusion de ces fonctionnalités.
Que pouvez-vous construire avec Supabase ? (Quelques exemples)
1. Paiement de l'abonnement avec Supabase + Stripe + Next.js.
Le kit de démarrage complet pour les applications SaaS hautes performances.
- Supabase fournit une administration et une authentification sécurisées des utilisateurs.
- Stripe Checkout et l'intégration du portail client Stripe.
- Supabase fournit de puissants outils d'accès et de gestion des données en plus de PostgreSQL.
- Les webhooks Stripe permettent la synchronisation automatique des plans tarifaires et des statuts d'abonnement.
2. Conserver le lien: Service de signet simple avec balises et archive
KeepLink est un service de signet de base avec des balises et une archive construite avec Supabase et Next.js. Il n'a pas de fonctionnalités de partage social, mais vous pouvez héberger votre propre instance.
- Balisez automatiquement les nouveaux signets en fonction des balises existantes.
- La recherche en texte intégral des URL, des titres, des descriptions, des balises et du contenu des archives grâce à la pile Supabase, le balisage des alias pour les bases de données d'administration et l'accès reposant à l'API sont désormais possibles.
- Avec metascraper, vous pouvez rassembler automatiquement les titres et les descriptions de vos pages. Vous pouvez également archiver vos pages avec SinglePage et Headless Chrome.
3. Application de chat en temps réel avec Supabase + React
- Pour la messagerie en temps réel, Supabase (au-dessus de PostgreSQL) est utilisé.
- Le front-end utilise React (CRA) + Vite
- La bibliothèque d'interface utilisateur utilisée est Chakra UI.
Fonctionnalités clés
Voici quelques-unes des fonctionnalités de Supabase :
- Un tableau de bord/interface utilisateur pour configurer et administrer votre base de données en moins d'une minute.
- Pour inscrire des utilisateurs et mettre à jour les restrictions d'accès dans votre base de données, appliquez l'authentification des utilisateurs.
- API et une bibliothèque JavaScript.
- Auditeurs de base de données en temps réel.
- Les fonctions (un peu). Il s'agit de procédures stockées de base de données qui peuvent être écrites en SQL, JavaScript, Python ou Java.
Avantages
Supabase se distingue pour les raisons suivantes :
- Contrairement à Firebase, vous pouvez exécuter des requêtes compliquées ou des recherches de texte.
- Supabase s'occupe de la mise à l'échelle pour vous (même s'il utilise une base de données SQL)
- La migration des données est simple avec Supabase car elle exploite PostgreSQL et vous pouvez importer des données à l'aide d'un fichier .sql.
Inconvénients
L'adoption de Supabase présente certains inconvénients. Ils sont les suivants :
- Pour recevoir les modifications en temps réel, vous devez activer la fonctionnalité de réplication pour une table.
- Lorsque les mises à jour en temps réel sont activées, les politiques de sécurité de Supabase ne s'appliquent pas.
- Les fonctionnalités sont limitées.
- Son SDK ne fonctionne qu'avec JavaScript (la prise en charge d'autres langues est toujours en version bêta)
Prix
1. Niveau gratuit
- Base de données avec 500 Mo d'espace de stockage et appels API illimités
- Authentification – jusqu'à 10,000 XNUMX utilisateurs
- Stockage de fichiers - Jusqu'à 1 Go de stockage, avec des limitations de transfert mensuelles allant jusqu'à 2 Go.
2. Payez au fur et à mesure
- Base de données - 0.125 $ par Go de stockage, sans limite d'appels API
- Authentification – Illimité
- Stockage de fichiers - Données stockées à 0.021 USD par Go avec transfert de données de 0.07 USD/Go
Pour plus d'informations sur les prix, vous pouvez consulter leur site Web.
Conclusion
Supabase est le meilleur open-source alternative à Firebase de Google. En raison de la puissance de PostgreSQL, il offre diverses fonctionnalités remarquables et n'a aucune limitation de type de données comme les autres systèmes de bases de données en temps réel.
Vous pouvez créer une variété d'applications en utilisant Supabase et ses excellentes fonctionnalités. Essayez-le aujourd'hui !
Marcelo
Dans le cas d'un SaaS B2B, est-il possible d'avoir 1 utilisateur maître par client et N autres utilisateurs liés à ce maître traitant uniquement des données de ce client ?