Intro a Supabase: Por qué es el backend que necesitas
Kevin Dávila
Recuerdo la antigua época en la que se discutía arduamente por cuál manera de gestionar el backend era mejor, si usar Firebase, Supabase, PocketBase, self-host, un bloc de notas, etc. Esos debates parecen haber terminado, ya que a nadie le importa realmente.
La nueva época potenciada con AI hace que el stack sea de lo menos importante, pues cientos de personas están creando cosas sin tener ningún conocimiento de backend, frontend, infraestructura, etc.
Aquí no vamos a discutir si es el enfoque correcto. Lo más importante es tener el producto rápido y sin complicaciones, pues así compruebas más rápido si tu idea funciona.
Para esto sirve demasiado bien tener herramientas como Supabase o Firebase, que te dan todo empaquetado y listo para usar. Sin complicarte por levantar un server, auth, database, functions, etc.
Y Supabase destaca ya que cuenta con herramientas AI y de CLI para hacerte aún más fácil el proceso de creación.
Así que vamos por partes.
Qué es Supabase
Supabase es la alternativa open-source a Firebase. Pero a diferencia de Firebase (que usa NoSQL), Supabase está construido sobre PostgreSQL. Esto significa que obtienes una base de datos relacional real, con todo el poder de SQL, joins, y las miles de extensiones que PostgreSQL ofrece.
Lo que hace especial a Supabase es que empaqueta en un solo producto:
PostgreSQL - Tu base de datos
Auth - Autenticación con múltiples proveedores
Storage - Archivos e imágenes
Realtime - Suscripciones en tiempo real
Edge Functions - Lógica serverless
Vector - Embeddings para AI
Todo esto con un dashboard web donde puedes gestionar tu proyecto, ejecutar queries, y monitorear tu aplicación.
Por qué elegir Supabase sobre Firebase u otro
Feature | Supabase | Firebase |
|---|---|---|
Base de datos | PostgreSQL (SQL) | Firestore (NoSQL) |
Open source | Sí | No |
Self-host | Sí | No |
Query language | SQL estándar | Propietario |
Pricing | Generoso free tier | Pay-as-you-go |
La diferencia principal es que con Supabase usas SQL estándar. Si mañana necesitas migrar a otro proveedor de PostgreSQL, puedes hacerlo sin reescribir tu lógica de base de datos.
Setup rápido
Crear un proyecto
Ve a supabase.com y crea una cuenta
Click en "New Project"
Elige nombre, contraseña de la base de datos, y región
Espera 2 minutos a que se provisione
Instalar el cliente
// terminal
npm install @supabase/supabase-jsConfigurar la conexión
// src/lib/supabase.ts
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL
const supabaseKey = import.meta.env.VITE_SUPABASE_ANON_KEY
export const supabase = createClient(supabaseUrl, supabaseKey)Tu primera query
// src/main.ts
import { supabase } from './lib/supabase'
// Crear una tabla y hacer un query
const { data, error } = await supabase
.from('tasks')
.select('*')
.order('created_at', { ascending: false })
console.log(data) // []Eso es todo. Sin SDKs complicados, sin configuración de servidor, sin ORM si no quieres. SQL directo desde el cliente.
Arquitectura
Supabase es PostgreSQL corriendo en AWS, con una capa de API automática encima. Cada tabla que creas genera automáticamente una REST API y un SDK tipado.
Tu App → Supabase Client → PostgREST → PostgreSQL
→ GoTrue (Auth)
→ Realtime
→ StorageEsta arquitectura significa que siempre puedes hacer bypass al SDK y usar SQL directo cuando necesites más control.
Pricing: el free tier
El free tier de Supabase es generoso:
500 MB de base de datos
1 GB de storage
50,000 usuarios de auth
500 MB de ancho de banda
2 proyectos
Para un MVP, side project, o incluso una app pequeña en producción, el free tier es suficiente. Cuando necesites escalar, los planes pagos empiezan en $25/mes.
Cuándo usar Supabase
Supabase es ideal para:
Aplicaciones web con auth y base de datos
APIs rápidas sin backend custom
Proyectos que necesitan realtime (chat, dashboards)
Apps que quieren usar SQL estándar
MVPs que necesitan escalar rápido
No es ideal para:
Apps que solo necesitan key-value simple
Proyectos que ya están profundamente integrados con Firebase
Casos donde necesitas lógica de negocio compleja en el servidor (para eso mejor un backend tradicional)
Qué sigue
En el próximo artículo vamos a fondo con Auth: cómo configurar autenticación con email, Google, GitHub, y más. Vamos a ver cómo proteger tus rutas y manejar sesiones como un pro.