Voltar

AI Extension Builder: ligue o Supabase à sua app

na 

O AI Extension Builder já permite criar uma secção personalizada para a sua app descrevendo-a por palavras simples. Agora essas secções conseguem guardar e partilhar dados reais. Peça uma sondagem, uma lista de reservas ou um livro de visitas: o builder monta os dados por trás e liga-os à sua app ativa — graças a uma nova integração com o Supabase.

O AI Extension Builder ganhou memória

Até agora, o AI Extension Builder era brilhante numa coisa: transformar uma frase numa secção que funciona. Descreva uma contagem decrescente, um mood board, um mini-jogo — e ele aparece na sua app, com um estilo que encaixa na perfeição. Mas cada secção que ele criava vivia inteiramente no dispositivo do visitante. Nada do que produzia conseguia reter informação nem passá-la de uma pessoa para outra.

Era esse o limite. Se pedisse uma "sondagem dos leitores", obtinha uma sondagem que funcionava perfeitamente para uma pessoa, num dispositivo. Os votos ficavam guardados no navegador. Bastava fechar a app e desapareciam. Ao abri-la noutro telemóvel, a contagem começava do zero. Um livro de visitas que só você consegue ler não é um livro de visitas. Uma lista de reservas que se apaga em cada dispositivo não é uma lista de reservas.

A razão era sempre a mesma: essas funcionalidades precisam de um sítio para guardar os dados e de um conjunto de regras que definam quem os pode ler e escrever. Essa camada — um backend — é a parte difícil, e é precisamente o tipo de coisa que costumava figurar entre as limitações dos criadores de apps no-code. O novo conector do Supabase traz isso para dentro do builder. O AI Extension Builder passa a construir a camada de dados ao mesmo tempo que a secção, na mesma conversa, antes de escrever uma única linha de código.

(Se está a começar agora a criar secções desta forma, comece por como funciona o AI Extension Builder — este artigo continua a partir daí. É a mesma ferramenta que há pouco aprendeu a gerir o carregamento de ficheiros, agora também com uma camada de dados.)

Descreva a funcionalidade e os dados vêm com ela

Imagine um estúdio de yoga que quer uma secção de marcação de aulas dentro da app. Você descreve-a: "uma lista das aulas desta semana e um botão para os membros reservarem lugar, com o número de vagas disponíveis a atualizar-se à medida que as pessoas reservam."

O builder planeia a funcionalidade, percebe que as reservas têm de persistir e ficar visíveis para toda a gente, e monta um sítio para as guardar. Quando um membro reserva na terça-feira, o dono do estúdio vê-o na quarta e o membro seguinte vê menos uma vaga. Os dados são reais, partilhados e sobrevivem — porque a secção passa a ter um backend integrado, e não apenas um ecrã.

Você descreve o que a funcionalidade faz. O builder descobre de que dados ela precisa e constrói-os também.

Como funciona a ligação ao Supabase

Na primeira vez que uma das suas secções precisar de guardar dados, o builder pede-lhe para ligar o Supabase — uma plataforma de backend open-source muito utilizada, com um plano gratuito generoso. Clica em Ligar, autentica-se uma vez através do login do próprio Supabase (o mesmo tipo de passo de "ligue a sua conta" que já conhece de qualquer outro serviço) e regressa ao editor. Todas as secções seguintes que precisem de dados reutilizam essa mesma ligação com um único clique.

Por trás desse clique, o builder trata das partes que normalmente são chatas e fáceis de errar:

  • Cria a estrutura de dados por si. Você descreve a funcionalidade; o builder descobre em que consiste uma "reserva", um "voto" ou uma "inscrição" e monta o armazenamento à medida.
  • Protege os dados. Cada tabela é criada com regras de acesso (Row-Level Security, ou segurança ao nível da linha) para que os seus dados não fiquem expostos — leituras e escritas são controladas desde o início.
  • Gere as chaves de ligação. O builder distingue a chave que pode ser incluída em segurança dentro da app daquela que tem de permanecer privada, e trata disso sozinho.
  • Pergunta antes de mexer em qualquer coisa sensível. Se uma alteração à sua funcionalidade for modificar ou apagar dados que já tem, o builder para e pergunta-lhe, por palavras simples, antes de tocar neles.

Tudo isto surge ao vivo na pré-visualização enquanto vai afinando, e segue dentro da sua app publicada.

Continua a ser uma secção GoodBarber totalmente integrada

Esta é a parte que importa. A secção que o builder produz não é um pedaço de código solto que você tenha de alojar, publicar ou manter algures. É uma parte de pleno direito da sua app — herda o alojamento do GoodBarber, segue o sistema Smart Design e é entregue dentro das suas apps iOS, Android e web publicadas, através do mesmo pipeline de publicação nas lojas de qualquer outra extensão do catálogo de mais de 190 da Extension Store.

A camada de dados segue a mesma lógica. O builder não lhe entrega uma base de dados para você a ir ligar. Cria o armazenamento, protege-o, liga-o à secção e larga a funcionalidade pronta dentro da sua app. Você recebe uma funcionalidade que funciona, nas lojas, e não um projeto técnico para montar.

Porquê o Supabase?

O Supabase é uma das plataformas de backend open-source mais utilizadas no mundo dos programadores. Por baixo é PostgreSQL — a mesma base de dados robusta e testada que faz funcionar software sério por todo o lado — envolvida por uma API imediata, autenticação, armazenamento de ficheiros e atualizações em tempo real. É de confiança precisamente por ser aberto, padrão e não uma caixa negra.

O que o GoodBarber acrescenta é tudo aquilo que normalmente torna essa base difícil de usar — a configuração, as regras de segurança, a ligação à sua app — para que tenha o poder do Supabase sem alguma vez tocar no seu painel de controlo.

O que pode criar a partir de agora

A regra é simples: se uma funcionalidade precisa de recordar algo, ou de mostrar a mesma coisa a mais do que uma pessoa, agora tem onde viver. Algumas das coisas que passam a ser possíveis apenas descrevendo-as:

  • Livros de visitas, murais de comentários e avaliações — os visitantes deixam uma mensagem, toda a gente a vê.
  • Sondagens, votações, questionários e classificações — recolha respostas e mostre a contagem ao vivo.
  • Formulários de inscrição, listas de espera e confirmações de presença em eventos — capte registos que consegue mesmo recuperar mais tarde.
  • Marcações e reservas — vagas em aulas, reservas de mesa, disponibilidade de marcações partilhadas por todos os utilizadores.
  • Tabelas de classificação e placares — recordes entre utilizadores que se atualizam à medida que as pessoas jogam.
  • Chat ao vivo e fóruns de mensagens — conversa em tempo real dentro da sua app.
  • Listas colaborativas e notas partilhadas — uma wiki da comunidade, uma lista de tarefas partilhada, qualquer coisa que muitas mãos editem.

Funcionalidades genuinamente pessoais — um registo privado de hábitos, uma calculadora, o progresso de um jogo a solo — não precisam de nada disto, e o builder não acrescenta um backend onde ele não se justifica. A camada de dados aparece quando a funcionalidade pede informação partilhada ou duradoura, e mantém-se fora do caminho quando não pede.

Bom saber

  • Os dados ficam no seu próprio projeto Supabase. Você liga a sua conta Supabase, por isso os dados da sua funcionalidade ficam sob o seu controlo, numa infraestrutura que é sua. O plano gratuito do Supabase dá para muito antes de sequer se falar num plano pago. (Isto é independente do conteúdo da sua app GoodBarber, que continua alojado pelo GoodBarber.)
  • As regras de acesso são configuradas por si, e vale a pena percebê-las. Cada tabela recebe políticas de leitura/escrita sensatas logo de raiz. À medida que as suas funcionalidades crescem, é útil saber o que essas regras fazem — o builder faz do caminho seguro a opção por defeito.

Leituras adicionais

FAQ

O que é o conector do Supabase no AI Extension Builder?

É uma integração que permite ao AI Extension Builder dar a uma secção gerada um backend real. Quando descreve uma funcionalidade que precisa de guardar ou partilhar dados, o builder monta as tabelas de base de dados de que ela precisa, protege-as e liga-as à sua secção — para que a funcionalidade consiga recordar informação e mostrá-la a todos os utilizadores, e não apenas a uma pessoa num dispositivo.

Preciso de saber programar ou de escrever SQL?

Não. Você descreve a funcionalidade por palavras simples. O builder descobre de que dados ela precisa, cria a estrutura, define as regras de acesso e escreve o código que lê e escreve nesses dados. Você revê o resultado ao vivo na pré-visualização.

Porque é que o AI Extension Builder usa o Supabase?

O Supabase é um backend open-source muito utilizado, construído sobre PostgreSQL, com base de dados, autenticação, armazenamento e funcionalidades em tempo real. Construir o conector sobre uma plataforma padrão e de confiança significa que os seus dados ficam numa base portável e bem suportada — enquanto o GoodBarber trata da configuração, da segurança e da integração, para que nunca tenha de trabalhar diretamente no Supabase.

Preciso de uma conta Supabase?

Sim. Na primeira vez que uma secção precisar de guardar dados, o builder pede-lhe para ligar o Supabase — uma plataforma de backend open-source com um plano gratuito generoso. Autentica-se uma vez através do login do próprio Supabase, e todas as secções seguintes reutilizam essa ligação com um clique.

Onde ficam guardados os dados da minha app e a quem pertencem?

No seu próprio projeto Supabase, sob a sua conta, numa infraestrutura que você controla. Isto é independente do conteúdo da sua app GoodBarber (artigos, produtos, media), que continua alojado pelo GoodBarber.

Os dados estão seguros?

Cada tabela que o builder cria vem com políticas de Row-Level Security, para que leituras e escritas sejam controladas desde o início, em vez de ficarem abertas. À medida que as suas funcionalidades crescem, vale a pena perceber o que essas regras fazem — o builder faz da configuração segura a opção por defeito.

Que tipos de funcionalidades posso criar com isto?

Tudo aquilo que precisa de recordar algo ou de partilhá-lo entre utilizadores: livros de visitas, murais de comentários, sondagens e questionários, formulários de inscrição e listas de espera, confirmações de presença em eventos, marcações e reservas, tabelas de classificação, chat ao vivo e listas colaborativas. Funcionalidades puramente pessoais — uma calculadora, um registo privado de hábitos, um jogo a solo — não precisam disto, e o builder não acrescenta um backend onde ele não se justifica.

Várias secções podem partilhar a mesma base de dados?

Sim. Depois da primeira ligação, cada nova secção que precise de dados reutiliza o seu projeto Supabase existente com um clique, mantendo os seus próprios dados separados.

Experimente na sua próxima ideia

Abra o AI Extension Builder no back office da sua GoodBarber e descreva uma funcionalidade que tinha arrumado na gaveta do "demasiado complicado" — a sondagem dos leitores, a confirmação de presença num evento, a lista de reservas, o livro de visitas. Na primeira vez que precisar de dados, ligue o Supabase em dois cliques e veja a funcionalidade ganhar vida com um backend real por trás. Depois conte-nos o que criou, e o que quer que ela faça a seguir — é isso que dá forma à próxima novidade.