Quickstarters
Feature Overview
Como Construir um Backend para iOS?
40 min
introdução neste tutorial, você aprenderá como construir um backend para ios usando back4app https //www back4app com vamos percorrer a integração de recursos essenciais do back4app—como gerenciamento de banco de dados, funções em nuvem, apis rest e graphql, autenticação de usuários, armazenamento de arquivos e consultas em tempo real (consultas ao vivo)—para criar um backend seguro, escalável e robusto para seu aplicativo ios as ofertas de backend como serviço do back4app ajudam a reduzir a complexidade de configurar uma infraestrutura do lado do servidor enquanto aceleram o desenvolvimento você pode armazenar dados em um formato flexível de banco de dados nosql, gerenciar contas de usuários, adicionar notificações push , e aplicar controles de acesso avançados em uma fração do tempo que levaria para construir uma solução personalizada isso significa que você pode se concentrar em melhorar a experiência do usuário e implementar recursos principais, em vez de se preocupar com a manutenção do servidor ou provisionamento ao final deste tutorial, você terá um backend pronto que pode ser adaptado a cenários do mundo real, escalado para acomodar um aumento de tráfego e expandido com lógica mais complexa ou serviços de terceiros você poderá fornecer um backend confiável para seu aplicativo ios, acelerar seu processo de desenvolvimento , e melhorar sua interface do usuário geral com menos esforço pré requisitos para completar este tutorial, você precisará uma conta back4app e um novo projeto back4app começando com back4app https //www back4app com/docs/get started/new parse app se você não tiver uma conta, pode criar uma gratuitamente siga o guia acima para preparar seu projeto ambiente básico de desenvolvimento ios você pode desenvolver com o xcode (versão 13 0 ou superior) instalar o xcode https //developer apple com/xcode/ swift package manager ou cocoapods para adicionar o parse swift siga as instruções do github do parse swift https //github com/netreconlab/parse swift para detalhes de instalação familiaridade com swift e conceitos de ios documentação swift da apple https //docs swift org/swift book/ se você é novo no swift ou ios, revise a documentação oficial ou um tutorial básico de ios antes de começar ter um ambiente ios funcional com o xcode, junto com sua conta gratuita do back4app, ajudará você a acompanhar mais suavemente passo 1 – criando um novo projeto no back4app e conectando por que criar um novo projeto? um novo projeto back4app forma a base do seu desenvolvimento de backend para ios ele fornece todas as ferramentas necessárias—banco de dados, apis, autenticação, funções em nuvem—para construir um backend de forma rápida e segura passo a passo faça login na sua conta back4app crie um novo aplicativo clicando em “novo app” no seu painel do back4app dê um nome ao seu aplicativo (por exemplo, “ios backend demo”) uma vez criado, seu novo projeto aparecerá no seu painel do back4app instalando o sdk parse swift e configurando chaves o back4app depende da plataforma parse por trás para ios, use o sdk parse swift 1\ recupere suas chaves parse no painel do back4app, vá para “configurações do app” ou “segurança & chaves” para encontrar id do aplicativo chave do cliente (ou chave swift, se aplicável) url do servidor (geralmente https //parseapi back4app com ) 2\ adicione o sdk parse swift se você estiver usando gerenciador de pacotes swift // in package swift or xcode's swift packages package( url "https //github com/netreconlab/parse swift git", from "5 0 0" ) se você estiver usando cocoapods , adicione no seu podfile pod 'parseswiftog' então execute pod install 3\ inicialize o parse dentro do seu appdelegate swift (ou arquivo principal do swiftui), chame parseswift initialize( ) com suas credenciais import swiftui import parseswift @main struct myapp app { init() { do { try await parseswift initialize( applicationid "your app id", clientkey "your client key", // optional serverurl url(string "https //parseapi back4app com")! ) } catch { print("error initializing parse \\\\(error)") } } var body some scene { windowgroup { contentview() } } } parabéns! seu aplicativo ios agora está conectado ao back4app, e cada solicitação ou transação de dados será processada automaticamente pelo parse swift passo 2 – configurando o banco de dados 1\ criando um modelo de dados o back4app usa uma schema abordagem onde cada classe/tabela pode ser gerenciada a partir do painel suponha que queremos criar uma todo classe vá para “banco de dados” no seu console back4app clique em “criar uma nova classe” , nomeie a como todo , e adicione colunas como title (string) e iscompleted (boolean) 2\ criando um modelo de dados com o agente de ia o agente de ia do back4app pode acelerar o design do seu esquema abra o agente de ia no seu painel descreva seu modelo de dados em linguagem simples (por exemplo, “crie uma nova classe todo com campos de título e iscompleted”) deixe a ia construir o esquema para você automaticamente 3\ lendo e escrevendo dados usando o sdk swift com parse swift , defina sua estrutura de dados em código por exemplo import parseswift struct todo parseobject { // parseobject protocol var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom properties var title string? var iscompleted bool? } // saving func createtodoitem(title string, iscompleted bool) async { var todo = todo() todo title = title todo iscompleted = iscompleted do { let saved = try await todo save() print("saved objectid \\\\(saved objectid ?? "")") } catch { print("error saving \\\\(error)") } } // querying func fetchtodos() async { do { let todos = try await todo query() find() print("fetched \\\\(todos count) todos") } catch { print("error fetching \\\\(error)") } } 4\ lendo e escrevendo dados usando a api rest alternativamente, você pode usar chamadas rest por exemplo, para criar um todo curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ lendo e escrevendo dados usando a api graphql back4app também inclui suporte a graphql aqui está um exemplo de mutação mutation { createtodo(input { fields { title "clean house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ trabalhando com consultas ao vivo (opcional) back4app suporta atualizações em tempo real através de consultas ao vivo para swift let subscription = try? todo query("iscompleted" == false) subscribe() subscription? handleevent({ event in switch event { case created(let newtodo) print("new todo created \\\\(newtodo)") case updated(let updatedtodo) print("todo updated \\\\(updatedtodo)") default break } }) passo 3 – aplicando segurança com acls e clps 1\ visão geral listas de controle de acesso https //www back4app com/docs/security/parse security (acls) controlam permissões por objeto, enquanto permissões de nível de classe (clps) definem padrões para classes inteiras 2\ passos permissões de nível de classe no painel do back4app, abra uma classe (por exemplo, todo ), em seguida, clique na aba “segurança” você pode restringir leitura/escrita apenas para usuários ou funções autenticados acls em código quando você salva um parseobject, pode atribuir um acl ajuste isso para garantir que seus dados sejam acessados apenas pelos usuários corretos passo 4 – escrevendo funções de código em nuvem 1\ por que código em nuvem? código em nuvem é seu melhor amigo para adicionar lógica do lado do servidor ao seu aplicativo ios você pode manter a lógica sensível ou validações longe do cliente, integrar apis externas e executar tarefas em segundo plano no servidor 2\ exemplo de função crie um main js arquivo localmente (ou no editor online) com uma função parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "no text provided"; } return { length text length }; }); 3\ implantação use o back4app cli https //www back4app com/docs/local development/parse cli ou o editor cloud code > funções no painel instale o cli configure sua chave de conta implante 4\ chamando o cloud code do ios task { do { if let result = try await parsecloud callfunction("calculatetextlength", with \["text" "hello back4app"]) as? \[string int] { print("text length \\\\(result\["length"] ?? 0)") } } catch { print("cloud code error \\\\(error)") } } 5\ usando módulos npm no seu package json (dentro do cloud code), liste suas dependências então em main js const axios = require('axios'); parse cloud define("fetchposts", async () => { // use axios here }); passo 5 – configurando autenticação 1\ ativar autenticação de usuário no seu painel do back4app, a user classe já está disponível você pode definir verificação de e mail, redefinições de senha e mais 2\ exemplos de código para ios inscrever se entrar 3\ login social você pode integrar logins sociais (google, apple, facebook) com parse swift consulte a documentação de login social https //www back4app com/docs/platform/sign in with apple para instruções detalhadas passo 6 – gerenciamento de armazenamento de arquivos 1\ configurando o armazenamento de arquivos carregue e recupere arquivos como imagens ou documentos através do parse para swift struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var score int? var picture parsefile? } func uploadimagedata( data data) async { var file = parsefile(name "photo jpg", data data) do { file = try await file save() print("file url \\\\(file url ?? "")") } catch { print("error uploading file \\\\(error)") } } 2\ recuperando arquivos func fetchimage(file parsefile) async { do { let fetched = try await file fetch() print("fetched localurl \\\\(fetched localurl? absolutestring ?? "")") } catch { print("error fetching file \\\\(error)") } } 3\ considerações de segurança você pode configurar permissões de arquivo nas configurações do back4app ou no arquivo parse config do seu aplicativo por exemplo, restrinja quem pode carregar ou excluir arquivos passo 7 – verificação de email e redefinição de senha 1\ por que verificação? a verificação de email garante que um usuário possua o endereço de email fornecido os fluxos de redefinição de senha permitem que os usuários recuperem contas de forma segura 2\ configurar no back4app vá para configurações do app > configurações de email do usuário ativar verificação de email configure o email de remetente , modelos de email e domínio personalizado opcional 3\ implementação task { do { try await user requestpasswordreset(email "johnny\@example com") print("password reset email sent") } catch { print("error resetting password \\\\(error)") } } passo 8 – agendando tarefas com cloud jobs 1\ visão geral use cloud jobs para automatizar tarefas como excluir registros antigos ou enviar notificações diárias eles são executados no lado do servidor , não acionados diretamente pelo cliente 2\ exemplo parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); // older than 30 days const cutoff = new date(date now() 30 24 60 60 1000); query lessthan("createdat", cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); agende este trabalho no painel do back4app em configurações do servidor > trabalhos em segundo plano para ser executado periodicamente passo 9 – integrando webhooks 1\ definição webhooks permitem que seu aplicativo envie dados para serviços externos sempre que certos eventos ocorrerem por exemplo, notifique um canal do slack quando um todo for criado 2\ configuração painel vá para mais > webhooks e selecione “adicionar webhook ” definir endpoint por exemplo, https //my server com/webhook endpoint gatilho de evento por exemplo, “novo registro na classe todo ” 3\ exemplo de código parse cloud aftersave("todo", async (request) => { const { object } = request; // make an http post to an external url // containing the new todo details }); passo 10 – explorando o painel de administração do back4app 1\ onde encontrá lo seu painel de administração está acessível via “mais” > “aplicativo de administração” no painel do back4app crie um usuário administrador e escolha um subdomínio para fácil acesso 2\ recursos navegação de dados visualize e edite classes em um formato amigável logs verifique os logs do servidor e os logs do cloud code análises monitore o uso, notificações push, etc conclusão neste tutorial, você aprendeu como construir um backend para ios usando back4app e o parse swift sdk você integrou um banco de dados escalável, implementou segurança com acls e clps, escreveu funções de cloud code, configurou autenticação de usuário, gerenciou armazenamento de arquivos e até agendou tarefas em segundo plano com esses recursos essenciais em funcionamento, você pode oferecer um backend confiável para seu aplicativo móvel ios enquanto se concentra na experiência do usuário e em recursos únicos próximos passos explore funções avançadas e controles de acesso personalizados para segurança em múltiplos níveis integre recursos avançados como notificações push, geo consultas ou fontes de dados externas revise a documentação oficial do back4app para dicas de desempenho, análise de logs ou análises em tempo real experimente tutoriais adicionais sobre aplicativos de chat, integração de iot ou expansões de e commerce ao aproveitar o back4app, você obtém uma plataforma de código aberto que é uma ótima opção para reduzir a complexidade, armazenar dados facilmente e incorporar funcionalidades em tempo real em seu aplicativo ios implementar esses passos libera você para trabalhar no design, fluxos de usuários ou lógica de negócios, criando um robusto backend para seu aplicativo ios em pouco tempo