Conteúdo[Esconder][Mostrar]
Backend-as-a-Service (BaaS) é um paradigma de serviço no qual os desenvolvedores terceirizam os componentes de bastidores do desenvolvimento web ou móvel para que possam se concentrar na construção e manutenção do frontend em uma base plug-and-play e escapar do fardo de escrever código do lado do servidor.
O software que suporta tarefas do lado do servidor, como autenticação, administração de banco de dados, atualização em tempo real, armazenamento, hospedagem e alertas push, é fornecido por plataformas BaaS (para aplicativos móveis).
Embora vários serviços de back-end forneçam fundamentalmente a mesma solução, eles usam tecnologias de back-end distintas. Este é um fator decisivo para muitos desenvolvedores na hora de escolher o melhor serviço para um determinado projeto.
Neste artigo, vamos nos aprofundar no Supabase.
O que é a superbase?
superbase é uma alternativa de código aberto ao Firebase que oferece back-end como serviço para uma variedade de aplicativos. É realmente simples de configurar e opera rapidamente com uma variedade de estruturas. O Supabase se apresenta como um substituto de código aberto para o Firebase.
Ele pretende beneficiar os desenvolvedores na configuração rápida de seu back-end. “Construa em um fim de semana, cresça para milhões”, diz Supabase.
Os produtos Supabase incluem um banco de dados Postgres e serviço de autenticação, com armazenamento e serviços sem servidor (para lógica de back-end) ainda em andamento. Todas as suas ferramentas são em sua maioria gratuitas e de código aberto. O banco de dados Postgres inclui ferramentas relacionadas ao banco de dados, como monitoramento em tempo real das modificações do banco de dados e uma interface de gerenciamento.
Além disso, fornece APIs e sintaxes rápidas comparáveis às do Firebase. Isso permite que você lide com tarefas CRUD de maneira consistente, permitindo que você se concentre na criação em vez de reescrever o código CRUD repetido.
O banco de dados Postgres é uma tabela que permite armazenar dados organizados e conectados da mesma forma que faria em uma planilha. Surpreendentemente, quando você cria um projeto, você pode usar uma planilha existente como seu banco de dados Postgres.
Como o Supabase funciona?
Supabase é uma coleção de tecnologias de código livre. Eles estão criando recursos do Firebase com soluções de código aberto de nível empresarial. Se as ferramentas e comunidades estiverem disponíveis sob uma licença MIT, Apache 2 ou licença aberta comparável, elas as usarão e oferecerão suporte.
Se a ferramenta ainda não existir, eles a criam e a disponibilizam como de código aberto. Supabase não é um mapeamento 1:1 do Firebase. O objetivo deles é fornecer aos desenvolvedores uma experiência de desenvolvimento semelhante ao Firebase usando open source Tecnologias.
Supabase é uma plataforma que está hospedada. Você pode se inscrever e começar a usá-lo sem precisar instalar nada. Você também pode auto-hospedar e construir em seu próprio servidor.
- O PostgreSQL tem uma grande reputação de estabilidade, robustez de recursos e velocidade; Após mais de 30 anos de desenvolvimento ativo,
- O Realtime é um servidor Elixir que permite ouvir inserções, atualizações e exclusões do PostgreSQL usando WebSockets. O Supabase escuta solicitações de replicação do Postgres, converte o fluxo de bytes de replicação em JSON e, em seguida, transmite o JSON por meio de WebSockets.
- PostgREST é um servidor web que converte seu banco de dados PostgreSQL em uma API RESTful.
- O armazenamento fornece uma interface RESTful para gerenciar arquivos armazenados no S3, com o Postgres como gerenciador de direitos.
- Postgres-meta é uma API RESTful para administração do Postgres que permite baixar tabelas, atribuir responsabilidades e realizar consultas, entre outras coisas.
- GoTrue é uma API baseada em SWT que permite gerenciar usuários e emitir tokens SWT.
- Kong é um gateway de API executado na nuvem.
Iniciar
1. Projeto
No Supabase, um projeto é um contêiner para todos os seus bancos de dados, usuários de autenticação, regras, tabelas e armazenamento de arquivos.
Existem vários locais para hospedar seu projeto, e os administradores do Supabase estão constantemente adicionando novos sites para diminuir a latência. Um projeto leva cerca de 2 minutos para ser criado, então tome um café, sente-se e relaxe.
2. Painel do projeto
Quando seu projeto estiver concluído, você verá um painel semelhante ao mostrado abaixo. Este painel mostra tudo o que você precisa saber sobre seu projeto, incluindo conexões de banco de dados, solicitações de autenticação, capacidade de armazenamento, implementação de biblioteca de cliente e muito mais.
3. Criador e Editor de Tabelas
O banco de dados do Supabase é um PostgreSQL relacional com recursos em tempo real e controle de acesso por políticas usando Postgres RLS (Row Level Security). Os desenvolvedores podem usar o painel do Supabase para construir uma Tabela e adicionar colunas e propriedades. Os desenvolvedores podem modificar os dados diretamente do painel com o Supabase.
4. Autenticação
Google, GitHub, Facebook, Twitter, GitLab e mais provedores de autenticação estão disponíveis no Supabase. Eles podem ser ativados usando o Painel de Autenticação. Ele também suporta Phone OTP e Magic Link Authentication.
5. Armazenamento
O Supabase é um sistema de armazenamento de objetos de código aberto que pode lidar com qualquer tipo de arquivo e possui escalabilidade integrada. Possui uma API fácil de usar que permite regras e permissões personalizadas. A integração da CDN, bem como a autotransformação e otimização (redimensionamento e compactação do seu material), estarão disponíveis em breve. O armazenamento Supabase será um rival formidável do armazenamento Firebase com a inclusão desses recursos.
O que você pode construir com o Supabase? (Alguns exemplos)
1. Pagamento de assinatura com Supabase + Stripe + Next.js.
O conjunto inicial completo para aplicativos SaaS de alto desempenho.
- O Supabase fornece administração e autenticação seguras de usuários.
- Stripe Checkout e integração do portal do cliente Stripe.
- O Supabase fornece ferramentas poderosas de acesso e gerenciamento de dados em cima do PostgreSQL.
- Os webhooks do Stripe permitem a sincronização automática de planos de preços e status de assinatura.
2. KeepLink: Serviço de favoritos simples com tags e arquivo
KeepLink é um serviço básico de favoritos com tags e um arquivo criado com Supabase e Next.js. Ele não possui nenhum recurso de compartilhamento social, mas você pode hospedar sua própria instância.
- Marque novos marcadores automaticamente com base nas tags existentes.
- Pesquisa de texto completo para URLs, títulos, descrições, tags e conteúdo de arquivo graças à pilha Supabase, aliases de marcação para bancos de dados administrativos e acesso à API em repouso agora é possível.
- Com o metascraper, você pode reunir automaticamente títulos e descrições para suas páginas. Você também pode arquivar suas páginas com SinglePage e Headless Chrome.
3. Aplicativo de bate-papo em tempo real com Supabase + Reagir
- Para mensagens em tempo real, o Supabase (em cima do PostgreSQL) é usado.
- Front-end usa React (CRA) + Vite
- A biblioteca de interface do usuário usada é a Chakra UI.
Características principais
Aqui estão alguns dos recursos do Supabase:
- Um painel/interface de usuário para configurar e administrar seu banco de dados em menos de um minuto.
- Para cadastrar usuários e atualizar as restrições de acesso em seu banco de dados, aplique a autenticação do usuário.
- APIs e uma biblioteca JavaScript.
- Ouvintes de banco de dados em tempo real.
- As funções (tipo). Esses são procedimentos armazenados em banco de dados que podem ser escritos em SQL, JavaScript, Python ou Java.
Prós
A Supabase distingue-se pelas seguintes razões:
- Ao contrário do Firebase, você pode executar consultas complicadas ou pesquisas de texto.
- O Supabase cuida do dimensionamento para você (mesmo que use um banco de dados SQL)
- A migração de dados é simples com o Supabase, pois utiliza o PostgreSQL, e você pode importar dados usando um arquivo .sql.
Desvantagens
Existem algumas desvantagens de adotar o Supabase. Eles são os seguintes:
- Para receber alterações em tempo real, você deve ativar a funcionalidade de replicação de uma tabela.
- Quando as atualizações em tempo real são habilitadas, as políticas de segurança do Supabase não se aplicam.
- Os recursos são limitados.
- Seu SDK só funciona com JavaScript (o suporte para outras linguagens ainda está em beta)
Preços
1. Nível gratuito
- Banco de dados com 500 MB de espaço de armazenamento e chamadas de API ilimitadas
- Autenticação – Até 10,000 usuários
- Armazenamento de arquivos – Até 1 GB de armazenamento, com limitações de transferência mensal de até 2 GB.
2. Pague conforme você usa
- Banco de dados – US$ 0.125 por GB de armazenamento, sem limites de chamadas de API
- Autenticação - Ilimitada
- Armazenamento de arquivos – Dados armazenados $ 0.021 por GB com transferência de dados de $ 0.07/GB
Para mais informações sobre preços, você pode conferir o site deles.
Conclusão
Supabase é o melhor código aberto alternativa ao Firebase do Google. Devido ao poder do PostgreSQL, ele oferece vários recursos notáveis e não possui limitações de tipo de dados como outros sistemas de banco de dados em tempo real.
Você pode criar uma variedade de aplicativos usando o Supabase e seus excelentes recursos. Experimente hoje!
Marcelo
No caso de um SaaS B2B, é possível ter 1 usuário master por cliente e outros N usuários relacionados a esse master lidando apenas com dados deste cliente?