Quickstarters
CRUD Samples
Como Construir um App CRUD com Flutter?
29 min
visão geral neste guia, você desenvolverá um aplicativo flutter que lida com operações crud essenciais—criar, ler, atualizar e excluir—aproveitando o back4app como seu serviço de backend nós o guiaremos na configuração de um projeto back4app, projetando um esquema de dados flexível e integrando seu aplicativo flutter com o backend usando o parse sdk para flutter inicialmente, você criará um novo projeto back4app chamado basic crud app flutter este projeto fornece uma solução confiável de armazenamento de dados para seu aplicativo móvel você então definirá seu modelo de dados criando coleções e campos manualmente ou com a ajuda do agente de ia do back4app em seguida, você usará o intuitivo back4app admin app para gerenciar seus dados de forma contínua finalmente, você conectará seu aplicativo flutter ao back4app usando o parse server sdk flutter pacote, permitindo operações crud seguras e eficientes ao final deste tutorial, você terá um aplicativo flutter pronto para produção capaz de realizar funções crud básicas juntamente com autenticação de usuário segura e gerenciamento de dados principais insights crie um aplicativo flutter que interaja com um backend poderoso aprenda a projetar um esquema de backend escalável no back4app utilize o aplicativo admin do back4app para gerenciamento de dados sem esforço implemente medidas de segurança robustas, incluindo acls e autenticação de usuários pré requisitos antes de começar, certifique se de que você tem uma conta no back4app com um projeto ativo precisa de ajuda? visite introdução ao back4app https //www back4app com/docs/get started/new parse app um ambiente de desenvolvimento flutter instale o flutter e escolha um ide como visual studio code ou android studio uma compreensão básica de flutter, dart e apis rest confira a documentação do flutter https //flutter dev/docs se necessário passo 1 – inicialização do projeto criando um novo projeto back4app faça login na sua conta back4app clique no botão “novo app” no seu painel nomeie seu projeto basic crud app flutter e siga as instruções para completar a configuração criar novo projeto após a criação do seu projeto, ele aparecerá no seu painel, pronto para configuração do backend passo 2 – elaborando o modelo de dados configurando suas estruturas de dados para este aplicativo flutter, você estabelecerá várias coleções dentro do seu projeto back4app abaixo estão exemplos das coleções e campos principais necessários para suportar a funcionalidade crud 1\ coleção de produtos esta coleção armazena detalhes sobre produtos individuais campo tipo descrição id objectid identificador único atribuído automaticamente nome string o nome do produto detalhes string uma breve descrição do produto criadoem data timestamp quando o produto foi adicionado atualizadoem data timestamp quando o produto foi atualizado pela última vez 2\ coleção de usuários esta coleção gerencia credenciais de usuário e detalhes de autenticação campo tipo descrição id objectid identificador único gerado automaticamente nome de usuário string nome de usuário único para o usuário email string endereço de e mail único do usuário hashdasenha string senha criptografada para autenticação segura criadoem data timestamp quando a conta foi criada atualizadoem data timestamp quando a conta foi atualizada pela última vez você pode criar essas coleções manualmente no painel do back4app criar nova classe para adicionar campos, basta selecionar o tipo de dado, especificar o nome do campo, definir um valor padrão se necessário e marcá lo como obrigatório criar coluna usando o agente de ia do back4app para criação de esquema o agente de ia integrado no back4app pode gerar automaticamente seu esquema de dados com base na sua descrição, simplificando o processo de configuração como usar o agente de ia acesse o agente de ia abra seu painel do back4app e localize o agente de ia nas configurações do seu projeto descreva seu esquema forneça um prompt detalhado descrevendo as coleções e campos que você precisa revise e confirme uma vez que o agente de ia processe sua entrada, revise o esquema proposto e confirme para aplicá lo prompt de exemplo create the following collections in my back4app project 1\) collection products \ fields \ id objectid (auto generated) \ name string \ details string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) essa abordagem economiza tempo e garante que seu esquema de dados seja consistente e otimizado passo 3 – ativando o app admin e gerenciando operações crud introdução ao app admin o app admin do back4app oferece uma interface sem código para gerenciar seus dados de backend sua funcionalidade de arrastar e soltar permite que você realize operações crud, como criar, ler, atualizar e excluir registros, sem esforço habilitando o app admin navegue até o menu “mais” no seu painel do back4app selecione “admin app” e então clique “habilitar admin app ” configure suas credenciais de administrador criando uma conta de administrador inicial, que também configurará funções como b4aadminuser habilitar admin app após habilitar, faça login no admin app para gerenciar os dados da sua aplicação painel do admin app gerenciando operações crud dentro do admin app, você pode criar entradas use a opção “adicionar registro” em uma coleção (por exemplo, produtos) para inserir novos dados visualizar e editar entradas clique em um registro para inspecionar detalhes ou atualizar campos excluir entradas remova registros que não são mais necessários esta interface amigável simplifica o processo de gerenciamento dos dados do seu backend passo 4 – conectando seu app flutter com o back4app com seu backend configurado, é hora de integrar sua aplicação flutter com o back4app usando o sdk parse para flutter adicione a dependência abra seu pubspec yaml e inclua o parse server sdk flutter pacote dependencies flutter sdk flutter parse server sdk flutter ^3 1 0 inicialize o parse em seu app no seu main dart , inicialize o parse com suas credenciais do back4app import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk dart'; future\<void> main() async { widgetsflutterbinding ensureinitialized(); await parse() initialize( 'your application id', 'https //parseapi back4app com', clientkey 'your flutter key', debug true, ); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( title 'basic crud app', home homepage(), ); } } implementando operações crud crie um arquivo dart (por exemplo, product service dart ) para lidar com suas ações crud import 'package\ parse server sdk flutter/parse server sdk dart'; class productservice { future\<list\<parseobject>> fetchproducts() async { final query = querybuilder\<parseobject>(parseobject('products')); final response = await query query(); if (response success && response results != null) { return response results as list\<parseobject>; } return \[]; } future\<void> addproduct(string name, string details) async { final product = parseobject('products') set('name', name) set('details', details); final response = await product save(); if (response success) { print('product added successfully '); } else { print('error adding product ${response error? message}'); } } future\<void> updateproduct(string objectid, string newname, string newdetails) async { final query = querybuilder\<parseobject>(parseobject('products')); query whereequalto('objectid', objectid); final response = await query first(); if (response != null && response success) { final product = response results! first as parseobject; product set('name', newname) set('details', newdetails); final saveresponse = await product save(); if (saveresponse success) { print('product updated '); } } } future\<void> deleteproduct(string objectid) async { final query = querybuilder\<parseobject>(parseobject('products')); query whereequalto('objectid', objectid); final response = await query first(); if (response != null && response success) { final product = response results! first as parseobject; final deleteresponse = await product delete(); if (deleteresponse success) { print('product deleted '); } } } } este arquivo de serviço permite que sua interface flutter interaja suavemente com seu backend back4app alternativa usando rest/graphql no flutter se você optar por não usar o sdk parse, pode fazer chamadas rest usando pacotes como http no entanto, o sdk parse é recomendado para uma experiência mais integrada passo 5 – protegendo seu backend listas de controle de acesso (acls) para proteger seus dados, configure acls para seus objetos por exemplo, crie um produto que seja visível apenas para seu criador import 'package\ parse server sdk flutter/parse server sdk dart'; future\<void> addprivateproduct(string name, string details, parseuser owner) async { final product = parseobject('products') set('name', name) set('details', details); final acl = parseacl(owner) setpublicreadaccess(false) setpublicwriteaccess(false); product setacl(acl); final response = await product save(); if (response success) { print('private product created '); } else { print('error ${response error? message}'); } } permissões em nível de classe (clps) no seu painel do back4app, configure clps para impor regras de segurança padrão, garantindo que apenas usuários autenticados possam acessar ou modificar coleções específicas passo 6 – implementando a autenticação de usuário configurando registro e login de usuário o back4app utiliza a classe parse user para gerenciar a autenticação no seu aplicativo flutter, implemente o registro e login de usuários da seguinte forma import 'package\ parse server sdk flutter/parse server sdk dart'; class authservice { future\<void> registeruser(string username, string password, string email) async { final user = parseuser createuser(username, password, email); final response = await user signup(); if (response success) { print('user registered successfully!'); } else { print('registration failed ${response error? message}'); } } future\<void> loginuser(string username, string password) async { final user = await parseuser login(username, password); if (user success) { print('logged in as ${user result? username}'); } else { print('login error ${user error? message}'); } } } esta configuração cobre o registro de usuários, login e gerenciamento adicional de autenticação para seu aplicativo flutter passo 7 – conclusão e melhorias futuras parabéns! você construiu com sucesso um aplicativo crud baseado em flutter integrado ao back4app neste tutorial, você criou um projeto chamado basic crud app flutter , definiu coleções para produtos e usuários, e gerenciou seu backend usando o admin app além disso, você conectou seu aplicativo flutter ao back4app usando o parse server sdk flutter pacote enquanto implementava segurança robusta e autenticação de usuários próximos passos expanda seu app adicione recursos como busca avançada, visualizações detalhadas ou atualizações em tempo real aprimore a funcionalidade do backend explore funções em nuvem, integrações de api de terceiros ou controles de acesso baseados em função mais granulares continue aprendendo revise a documentação do back4app https //www back4app com/docs e tutoriais adicionais para otimizar ainda mais seu aplicativo feliz codificação e melhores desejos em sua jornada de desenvolvimento flutter!