Pocketbase: back end de código abierto en un solo archivo
PocketBase, un backend autoalojado empaquetado como un binario único de Go con SQLite, está recibiendo elogios por su simplicidad, su rápido arranque para desarrolladores y su facilidad de despliegue frente a alternativas más pesadas como Firebase, Supabase o Appwrite. Quienes comentan destacan su autenticación integrada, datos en tiempo real, UI de administración y extensibilidad con JS/Go como suficientes para muchas aplicaciones pequeñas y medianas, especialmente combinado con herramientas front-end ligeras como SvelteKit, htmx o Alpine.js. Las preocupaciones se centran en el bus factor de su mantenedor único, los límites de escalado de SQLite y algunas comodidades ausentes (por ejemplo, inserción masiva, importación CSV), pero muchos reportan uso exitoso en producción con miles de usuarios y bajos costos de alojamiento.
Sentimiento general
- Hilo fuertemente positivo; muchos informan que usan PocketBase en producción y para proyectos secundarios.
- El principal atractivo: simplicidad, minimalismo y una velocidad de desarrollo muy alta.
- Algunas preocupaciones: escalabilidad, “bus factor” (un mantenedor principal) y el modelo de seguridad.
Casos de uso y experiencia de desarrollo
- Se usa para una amplia variedad de aplicaciones: apps móviles, tracker de hora de dormir, microblog, clon tipo TikTok, app de presupuesto, herramienta de texto a voz, seguimiento de bodega de vinos, CMS para blogs/sitios estáticos y aplicaciones empresariales con decenas de miles de clientes.
- Se reportan “cero problemas” en producción y alta satisfacción con la UI de administración y el SDK de JS.
- Se describe como “agradable”, “pragmático” y que “simplemente funciona” una vez que entiendes su modelo.
- Algunas fricciones: la documentación tiene zonas poco cubiertas, la importación CSV tuvo que construirse a medida, las pruebas unitarias para JS del lado del servidor son incómodas, y los lotes grandes de CRUD pueden ser lentos si no se manejan del lado del servidor.
Despliegue, arquitectura y escalado
- El binario único con SQLite embebido es muy elogiado; “sube un archivo a un servidor y listo”.
- Es más fácil de autoalojar que Supabase/Appwrite; funciona bien en VPS pequeños o en contenedores.
- Es adecuado donde cierta indisponibilidad ocasional es aceptable; el escalado vertical se considera suficiente para muchos proyectos pequeños/medianos.
- La concurrencia de SQLite se ve como adecuada para “miles de usuarios en paralelo” o ~5k usuarios diarios; el análisis con varias bases de datos y la sincronización entre múltiples instancias son más complicados y requieren enfoques personalizados.
Funciones y extensibilidad
- Proporciona autenticación, control de acceso a nivel de fila mediante reglas de API, suscripciones en tiempo real, almacenamiento de archivos, interfaz web y APIs JSON/HTTP/WebSocket.
- Lógica personalizada mediante Go o hooks incrustados de JavaScript/TypeScript (ciclo de vida de registros, temporizadores, llamadas HTTP, envío de correos).
- Admite SQL directo y colecciones de vistas para joins, además de un mecanismo de migración mediante archivos en un directorio de migraciones.
- Carece de inserción masiva integrada, importación/exportación CSV, GraphQL y personalización profunda de algunos aspectos del servidor (por ejemplo, la página 404).
Comparaciones y alternativas
- Se compara con frecuencia con Firebase, Supabase y Appwrite; se presenta como un backend más simple, totalmente autoalojado y “tipo Firebase”.
- Algunos sostienen que es “sustancialmente mejor” que Supabase para facilitar el alojamiento; otros señalan que cada uno sirve necesidades distintas.
- Redbean y otras herramientas de “un solo archivo” también se mencionan, pero se ven como servidores web de nivel más bajo más que como equivalentes completos de backend como servicio.
Stacks de front-end
- Combinaciones comunes: Svelte/SvelteKit, React+Vite, Nuxt 3, Astro, HTMX, Alpine.js, VanJS, generadores de sitios estáticos (p. ej., Eleventy).
- A menudo se usa para que la mayor parte de la lógica de negocio viva en el front-end, mientras PocketBase aporta CRUD, autenticación y datos en tiempo real.