Índice analítico[Ocultar][Mostrar]
Backend-as-a-Service (BaaS) é un paradigma de servizo no que os desenvolvedores subcontratan os compoñentes detrás das escenas do desenvolvemento web ou móbil para que poidan centrarse na construción e mantemento do frontend nunha base plug-and-play e escapar da carga de escribir código no servidor.
Plataformas BaaS (para aplicacións móbiles) proporcionan software que admite tarefas do servidor, como autenticación, administración de bases de datos, actualización en tempo real, almacenamento, hospedaxe e alertas push.
Aínda que varios servizos de backend proporcionan fundamentalmente a mesma solución, usan tecnoloxías de backend distintas. Este é un factor decisivo para moitos desenvolvedores á hora de elixir o mellor servizo para un determinado proxecto.
Neste artigo, mergullaremos profundamente en Supabase.
O que é Supabase?
Supabase é unha alternativa de código aberto a Firebase que ofrece Backend como servizo para unha variedade de aplicacións. É moi sinxelo de configurar e funciona rapidamente cunha variedade de marcos. Supabase preséntase como un substituto de código aberto para Firebase.
Pretende beneficiar aos desenvolvedores á hora de configurar rapidamente o seu backend. "Construír nun fin de semana, crecer ata millóns", di Supabase.
Os produtos Supabase inclúen unha base de datos Postgres e un servizo de autenticación, con servizos de almacenamento e sen servidor (para a lóxica de backend) aínda en proceso. Todas as súas ferramentas son na súa maioría gratuítas e de código aberto. A base de datos Postgres inclúe ferramentas relacionadas coa base de datos, como o seguimento en tempo real das modificacións da base de datos e unha interface de xestión.
Ademais, ofrece API e sintaxe rápidas que son comparables ás de Firebase. Isto permítelle xestionar tarefas CRUD de forma coherente, o que lle permite concentrarse na creación en lugar de reescribir código CRUD repetido.
A base de datos Postgres é unha táboa que che permite almacenar datos organizados e conectados do mesmo xeito que o farías nunha folla de cálculo. Sorprendentemente, cando creas un proxecto, podes usar unha folla de cálculo existente como base de datos de Postgres.
Como funciona Supabase?
Supabase é unha colección de tecnoloxías de código libre. Están creando funcións de Firebase con solucións de código aberto de calidade empresarial. Se as ferramentas e comunidades están dispoñibles baixo unha licenza aberta MIT, Apache 2 ou comparable, utilizaránas e apoiarán.
Se a ferramenta aínda non existe, créana e póñena dispoñible como open-source. Supabase non é unha asignación 1:1 de Firebase. O seu obxectivo é ofrecer aos desenvolvedores unha experiencia de desenvolvemento similar a Firebase de código aberto tecnoloxías.
Supabase é unha plataforma que está aloxada. Podes rexistrarte e comezar a usalo sen ter que instalar nada. Tamén podes autoaloxarse e construír no teu propio servidor.
- PostgreSQL ten unha gran reputación pola estabilidade, a robustez das características e a velocidade; Despois de máis de 30 anos de desenvolvemento activo,
- Realtime é un servidor Elixir que che permite escoitar insercións, actualizacións e eliminacións de PostgreSQL mediante WebSockets. Supabase escoita as solicitudes de replicación de Postgres, converte o fluxo de bytes de replicación en JSON e, a continuación, transmite o JSON a través de WebSockets.
- PostgREST é un servidor web que converte a súa base de datos PostgreSQL nunha API RESTful.
- O almacenamento ofrece unha interface RESTful para xestionar ficheiros almacenados en S3, con Postgres como xestor de dereitos.
- Postgres-meta é unha API RESTful para administrar Postgres que che permite descargar táboas, asignar responsabilidades e realizar consultas, entre outras cousas.
- GoTrue é unha API baseada en SWT que che permite xestionar usuarios e emitir tokens SWT.
- Kong é unha pasarela de API que se executa na nube.
Introdución
1. Proxecto
En Supabase, un proxecto é un contedor para todas as túas bases de datos, usuarios de autenticación, regras, táboas e almacenamento de ficheiros.
Hai varios lugares desde onde aloxar o teu proxecto e os administradores de Supabase engaden constantemente novos sitios para diminuír a latencia. Un proxecto leva uns 2 minutos en crearse, así que toma un café, senta e reláxate.
2. Panel de control do proxecto
Cando remate o teu proxecto, presentarase un panel de control similar ao que se mostra a continuación. Este panel móstrache todo o que necesitas saber sobre o teu proxecto, incluíndo conexións de bases de datos, solicitudes de autenticación, capacidade de almacenamento, implementación da biblioteca cliente e moito máis.
3. Creador e editor de táboas
A base de datos de Supabase é un PostgreSQL relacional con capacidades en tempo real e control de acceso a políticas mediante Postgres RLS (Row Level Security). Os desenvolvedores poden usar o panel de control de Supabase para construír unha táboa e engadir columnas e propiedades. Os desenvolvedores poden modificar os datos directamente desde o panel con Supabase.
4. Autenticación
Google, GitHub, Facebook, Twitter, GitLab e máis provedores de autenticación están dispoñibles en Supabase. Estes pódense activar mediante o Panel de autenticación. Tamén admite Phone OTP e Magic Link Authentication.
5. Almacenamento
Supabase é un sistema de almacenamento de obxectos de código aberto que pode xestionar calquera tipo de ficheiro e ten escalabilidade integrada. Ten unha API fácil de usar que permite regras e permisos personalizados. A integración CDN, así como a transformación e optimización automáticas (redimensionar e comprimir o teu material), estarán dispoñibles en breve. O almacenamento Supabase será un rival formidable para o almacenamento de Firebase coa inclusión destas capacidades.
Que podes construír con Supabase? (Algúns exemplos)
1. Pago da subscrición con Supabase + Stripe + Next.js.
O conxunto de iniciación completo para aplicacións SaaS de alto rendemento.
- Supabase ofrece administración e autenticación de usuarios seguras.
- Stripe Checkout e a integración do portal de clientes de Stripe.
- Supabase ofrece poderosas ferramentas de acceso e xestión de datos ademais de PostgreSQL.
- Os webhooks de Stripe permiten a sincronización automática dos plans de prezos e dos estados de subscrición.
2. KeepLink: servizo de marcadores sinxelo con etiquetas e arquivo
KeepLink é un servizo básico de marcadores con etiquetas e un arquivo construído con Supabase e Next.js. Non ten ningunha función para compartir en redes sociais, pero podes aloxar a túa propia instancia.
- Etiquetar novos marcadores automaticamente en función das etiquetas existentes.
- Agora é posible a busca de texto completo de URL, títulos, descricións, etiquetas e contido de arquivo grazas á pila Supabase, alias de etiquetado para bases de datos de administración e acceso á API tranquilo.
- Con metascraper, podes reunir automaticamente títulos e descricións das túas páxinas. Tamén podes arquivar as túas páxinas con SinglePage e Headless Chrome.
3. Aplicación de chat en tempo real con Supabase + React
- Para a mensaxería en tempo real, úsase Supabase (encima de PostgreSQL).
- O front-end usa React (CRA) + Vite
- A biblioteca de IU utilizada é Chakra UI.
Características
Estas son algunhas das características de Supabase:
- Un panel/interface de usuario para configurar e administrar a súa base de datos en menos dun minuto.
- Para rexistrar usuarios e actualizar as restricións de acceso na súa base de datos, aplique a autenticación de usuario.
- APIs e unha biblioteca JavaScript.
- Oíntes de bases de datos en tempo real.
- As funcións (tipo). Estes son procedementos almacenados de bases de datos que poden escribirse en SQL, JavaScript, Python ou Java.
Pros
Supabase distínguese polos seguintes motivos:
- A diferenza de Firebase, pode realizar consultas complicadas ou procuras de texto.
- Supabase encárgase do escalado por ti (aínda que use unha base de datos SQL)
- A migración de datos é sinxela con Supabase xa que aproveita PostgreSQL e pode importar datos mediante un ficheiro .sql.
Contra
Hai algunhas desvantaxes de adoptar Supabase. Son as seguintes:
- Para recibir cambios en tempo real, debes activar a funcionalidade de replicación dunha táboa.
- Cando se activan as actualizacións en tempo real, as políticas de seguranza de Supabase non se aplican.
- As funcións son limitadas.
- O seu SDK só funciona con JavaScript (o soporte para outros idiomas aínda está en versión beta)
prezos
1. Nivel gratuíto
- Base de datos con 500 MB de espazo de almacenamento e chamadas API ilimitadas
- Autenticación: ata 10,000 usuarios
- Almacenamento de ficheiros: ata 1 GB de almacenamento, con limitacións de transferencia mensuais de ata 2 GB.
2. Pague segundo vaia
- Base de datos: 0.125 $ por GB de almacenamento, sen límites de chamadas á API
- Auth - Ilimitado
- Almacenamento de ficheiros: datos almacenados 0.021 USD por GB cunha transferencia de datos de 0.07 USD/GB
Para obter máis información sobre os prezos, podes consultar o seu sitio web.
Conclusión
Supabase é o mellor código aberto alternativa a Firebase de Google. Debido ao poder de PostgreSQL, ofrece varias características notables e non ten limitacións de tipo de datos como outros sistemas de bases de datos en tempo real.
Podes crear unha variedade de aplicacións usando Supabase e as súas excelentes funcións. Proba hoxe!
Marcelo
No caso dun SaaS B2B, é posible ter 1 usuario mestre por cliente e outros N usuarios relacionados con este mestre que traten só os datos deste cliente?