Índice del contenido[Esconder][Espectáculo]
Backend-as-a-Service (BaaS) es un paradigma de servicio en el que los desarrolladores subcontratan los componentes detrás de escena del desarrollo web o móvil para que puedan enfocarse en construir y mantener el frontend sobre una base plug-and-play y escapar de la carga de escribir código del lado del servidor.
Las plataformas BaaS (para aplicaciones móviles) proporcionan software que admite tareas del lado del servidor, como la autenticación, la administración de la base de datos, la actualización en tiempo real, el almacenamiento, el alojamiento y las alertas automáticas.
Aunque varios servicios de back-end brindan fundamentalmente la misma solución, utilizan distintas tecnologías de back-end. Este es un factor decisivo para muchos desarrolladores a la hora de elegir el mejor servicio para un determinado proyecto.
En este artículo, profundizaremos en Supabase.
Que es Supabase?
Supabase es una alternativa de Firebase de código abierto que ofrece backend como servicio para una variedad de aplicaciones. Es realmente simple de configurar y funciona rápidamente con una variedad de marcos. Supabase se anuncia a sí mismo como un reemplazo de código abierto para Firebase.
Tiene la intención de beneficiar a los desarrolladores en la configuración rápida de su backend. “Construya en un fin de semana, crezca a millones”, dice Supabase.
Los productos de Supabase incluyen una base de datos de Postgres y un servicio de autenticación, con servicios de almacenamiento y sin servidor (para la lógica de back-end) aún en proceso. Todas sus herramientas son en su mayoría gratuitas y de código abierto. La base de datos de Postgres incluye herramientas relacionadas con la base de datos, como el monitoreo en tiempo real de las modificaciones de la base de datos y una interfaz de administración.
Además, proporciona API y sintaxis rápidas que son comparables a las de Firebase. Esto le permite manejar las tareas CRUD de manera consistente, lo que le permite concentrarse en crear en lugar de reescribir el código CRUD repetido.
La base de datos de Postgres es una tabla que le permite almacenar datos organizados y conectados de la misma manera que lo haría en una hoja de cálculo. Sorprendentemente, cuando crea un proyecto, puede usar una hoja de cálculo existente como base de datos de Postgres.
¿Cómo funciona Supabase?
Supabase es una colección de tecnologías de código libre. Están creando características de Firebase con soluciones de código abierto de nivel empresarial. Si las herramientas y las comunidades están disponibles bajo una licencia abierta de MIT, Apache 2 o similar, las usarán y brindarán soporte.
Si la herramienta aún no existe, la crean y la ponen a disposición como De código abierto. Supabase no es un mapeo 1:1 de Firebase. Su objetivo es proporcionar a los desarrolladores una experiencia de desarrollo similar a la de Firebase utilizando de código abierto Tecnologías.
Supabase es una plataforma que está alojada. Puedes registrarte y empezar a usarlo sin tener que instalar nada. También puede autohospedarse y construir en su propio servidor.
- PostgreSQL tiene una gran reputación por su estabilidad, robustez de funciones y velocidad; Después de más de 30 años de desarrollo activo,
- Realtime es un servidor Elixir que le permite escuchar las inserciones, actualizaciones y eliminaciones de PostgreSQL mediante WebSockets. Supabase escucha las solicitudes de replicación de Postgres, convierte el flujo de bytes de replicación a JSON y luego transmite el JSON a través de WebSockets.
- PostgREST es un servidor web que convierte su base de datos PostgreSQL en una API RESTful.
- El almacenamiento proporciona una interfaz RESTful para administrar archivos almacenados en S3, con Postgres como administrador de derechos.
- Postgres-meta es una API RESTful para administrar Postgres que le permite descargar tablas, asignar responsabilidades y realizar consultas, entre otras cosas.
- GoTrue es una API basada en SWT que le permite administrar usuarios y emitir tokens SWT.
- Kong es una puerta de enlace API que se ejecuta en la nube.
Cómo comenzar
1. Proyecto
En Supabase, un proyecto es un contenedor para todas sus bases de datos, usuarios de autenticación, reglas, tablas y almacenamiento de archivos.
Hay varios lugares desde los cuales alojar su proyecto, y los administradores de Supabase agregan constantemente nuevos sitios para disminuir la latencia. Un proyecto tarda alrededor de 2 minutos en crearse, así que tómate un café, siéntate y relájate.
2. Tablero del proyecto
Cuando finalice su proyecto, se le presentará un tablero similar al que se muestra a continuación. Este panel le muestra todo lo que necesita saber sobre su proyecto, incluidas las conexiones de la base de datos, las solicitudes de autenticación, la capacidad de almacenamiento, la implementación de la biblioteca del cliente y más.
3. Creador y editor de tablas
La base de datos de Supabase es un PostgreSQL relacional con capacidades en tiempo real y control de acceso de políticas usando Postgres RLS (Row Level Security). Los desarrolladores pueden usar el tablero de Supabase para construir una tabla y agregar columnas y propiedades. Los desarrolladores pueden modificar los datos directamente desde el tablero con Supabase.
4. Autenticación
Google, GitHub, Facebook, Twitter, GitLab y más proveedores de autenticación están disponibles en Supabase. Estos pueden activarse mediante el Panel de autenticación. También es compatible con Phone OTP y Magic Link Authentication.
5. Almacenamiento
Supabase es un sistema de almacenamiento de objetos de código abierto que puede manejar cualquier tipo de archivo y tiene escalabilidad incorporada. Tiene una API fácil de usar que habilita reglas y permisos personalizados. La integración de CDN, así como la transformación automática y la optimización (redimensionar y comprimir su material), estarán disponibles en breve. El almacenamiento de Supabase será un rival formidable para el almacenamiento de Firebase con la inclusión de estas capacidades.
¿Qué puedes construir con Supabase? (Algunos ejemplos)
1. pago de suscripción con Supabase + Stripe + Next.js.
El conjunto de inicio completo para aplicaciones SaaS de alto rendimiento.
- Supabase proporciona autenticación y administración segura de usuarios.
- Stripe Checkout y la integración del portal de clientes de Stripe.
- Supabase proporciona potentes herramientas de gestión y acceso a datos además de PostgreSQL.
- Los webhooks de Stripe permiten la sincronización automática de planes de precios y estados de suscripción.
2. Mantener enlace: servicio de marcador simple con etiquetas y archivo
KeepLink es un servicio básico de marcadores con etiquetas y un archivo creado con Supabase y Next.js. No tiene ninguna función para compartir en redes sociales, pero puede alojar su propia instancia.
- Etiquete nuevos marcadores automáticamente en función de las etiquetas existentes.
- Ahora es posible la búsqueda de texto completo de URL, títulos, descripciones, etiquetas y contenido de archivo gracias a la pila de Supabase, el etiquetado de alias para bases de datos de administración y el acceso tranquilo a la API.
- Con metascraper, puede recopilar automáticamente títulos y descripciones para sus páginas. También puede archivar sus páginas con SinglePage y Headless Chrome.
3. Aplicación de chat en tiempo real con Supabase + Reaccionar
- Para la mensajería en tiempo real, se utiliza Supabase (sobre PostgreSQL).
- El front-end usa React (CRA) + Vite
- La biblioteca de interfaz de usuario utilizada es Chakra UI.
Principales Caracteristicas
Estas son algunas de las características de Supabase:
- Un tablero/interfaz de usuario para configurar y administrar su base de datos en menos de un minuto.
- Para registrar usuarios y actualizar las restricciones de acceso en su base de datos, aplique la autenticación de usuario.
- API y una biblioteca de JavaScript.
- Oyentes de base de datos en tiempo real.
- Las funciones (más o menos). Estos son procedimientos almacenados en bases de datos que pueden estar escritos en SQL, JavaScript, Python o Java.
Para Agencias y Operadores
Supabase se distingue por las siguientes razones:
- A diferencia de Firebase, puede ejecutar consultas complicadas o búsquedas de texto.
- Supabase se encarga del escalado por usted (aunque utiliza una base de datos SQL)
- La migración de datos es simple con Supabase ya que aprovecha PostgreSQL y puede importar datos usando un archivo .sql.
Desventajas
Hay algunas desventajas de adoptar Supabase. Son los siguientes:
- Para recibir cambios en tiempo real, debe activar la funcionalidad de replicación para una tabla.
- Cuando las actualizaciones en tiempo real están habilitadas, las políticas de seguridad de Supabase no se aplican.
- Las características son limitadas.
- Su SDK solo funciona con JavaScript (el soporte para otros idiomas aún está en versión beta)
Precios
1. Nivel gratuito
- Base de datos con 500 MB de espacio de almacenamiento y llamadas API ilimitadas
- Autenticación: hasta 10,000 XNUMX usuarios
- Almacenamiento de archivos: hasta 1 GB de almacenamiento, con limitaciones de transferencia mensual de hasta 2 GB.
2. Paga lo que consumas
- Base de datos: $0.125 por GB de almacenamiento, sin límites en las llamadas a la API
- Autenticación: ilimitada
- Almacenamiento de archivos: datos almacenados $0.021 por GB con transferencia de datos de $0.07/GB
Para obtener más información sobre precios, puede consultar su sitio web.
Conclusión
Supabase es el mejor código abierto alternativa a Firebase de Google. Debido al poder de PostgreSQL, ofrece varias características notables y no tiene limitaciones de tipo de datos como otros sistemas de bases de datos en tiempo real.
Puede crear una variedad de aplicaciones utilizando Supabase y sus excelentes funciones. Darle una oportunidad hoy!
Marcelo
En el caso de un SaaS B2B, ¿es posible tener 1 usuario maestro por cliente y otros N usuarios relacionados con este maestro que se ocupen únicamente de los datos de este cliente?