Quickstarters
Feature Overview
Como Construir um Backend para Objective-C?
38 min
introdução neste tutorial, você aprenderá como construir um backend para objective c usando o back4app vamos percorrer a integração de recursos essenciais do back4app—como gerenciamento de banco de dados, funções de cloud code, apis rest e graphql, autenticação de usuários e consultas em tempo real—para criar um backend seguro, escalável e robusto que se comunica perfeitamente com seu aplicativo ios usaremos o sdk ios do parse, que é de código aberto, para lidar com todas as nossas necessidades de dados você verá como reduzir o tempo e o esforço envolvidos na configuração de servidores, armazenamento e segurança aproveitando o ambiente flexível do back4app este tutorial mostrará exemplos de código em objective c, para que você possa digitar texto alinhado ao seu fluxo de trabalho típico do xcode ao final, você terá os blocos de construção para um aplicativo móvel pronto para produção, ou poderá personalizar ainda mais para se adequar ao seu caso de uso exato pré requisitos para completar este tutorial, você precisará uma conta no back4app e um novo projeto no back4app começando com o 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 de desenvolvimento objective c certifique se de ter uma versão recente do xcode instalada baixe o xcode na mac app store https //apps apple com/us/app/xcode/id497799835 conhecimento de cocoapods ou swift package manager (opcional, mas recomendado) guia do swift package manager https //github com/parse community/parse sdk ios osx familiaridade com objective c, conceitos básicos de aplicativos ios ou conceitos relacionados documentação da apple sobre objective c https //developer apple com/library/archive/documentation/cocoa/conceptual/programmingwithobjectivec/introduction/introduction html certifique se de ter todos esses pré requisitos antes de começar, para que sua jornada ocorra sem problemas passo 1 – criando um novo projeto no back4app e conectando por que este passo? um novo projeto no back4app é a base do seu backend ele oferece um lugar para armazenar seus dados, executar funções em nuvem e gerenciar a segurança vamos começar criando um projeto no back4app criando um projeto no back4app faça login na sua conta do back4app clique em “novo app” no seu painel do back4app nomeie seu app (por exemplo, “objectivec backend tutorial”) e finalize você verá seu novo app no painel do back4app este app irá gerenciar todas as configurações de backend que estamos prestes a discutir instalando o parse sdk para ios (objective c) back4app trabalha lado a lado com o sdk parse ios este sdk simplifica operações de dados, recursos em tempo real, autenticação de usuários e mais para seu aplicativo ios recupere suas chaves parse no seu painel do back4app, navegue até configurações do aplicativo ou segurança e chaves para encontrar seu id do aplicativo e chave do cliente a url do servidor parse é frequentemente https //parseapi back4app com integre o parse usando o gerenciador de pacotes swift ou cocoapods cocoapods pod 'parse' gerenciador de pacotes swift abra o xcode, escolha “arquivo” > “adicionar pacotes…” adicione o repositório https //github com/parse community/parse sdk ios osx confirme o parse no seu alvo ios inicializando o parse em objective c abra appdelegate m e importe o módulo parse @import parsecore; // or #import \<parse/parse h> \ (bool)application (uiapplication )application didfinishlaunchingwithoptions (nsdictionary )launchoptions { \[parse initializewithconfiguration \[parseclientconfiguration configurationwithblock ^(id\<parsemutableclientconfiguration> configuration) { configuration applicationid = @"your application id"; configuration clientkey = @"your client key"; configuration server = @"https //parseapi back4app com"; }]]; return yes; } com isso, seu aplicativo objective c está conectado de forma segura ao seu backend back4app agora você está pronto para ler, escrever e gerenciar dados no servidor passo 2 – configurando o banco de dados 1\ criando um modelo de dados (esquema) no back4app, os dados residem em classes—como tabelas em um banco de dados suponha que queremos uma classe “todo” simples você pode criá la manualmente na seção banco de dados do painel do back4app adicione campos como título (string), iscompleted (boolean) e assim por diante 2\ criando um modelo de dados usando o agente de ia back4app oferece um agente de ia para ajudar a gerar um esquema abra o agente de ia no seu painel de controle do app descreva seu modelo de dados em linguagem natural (por exemplo, “crie uma nova classe todo com título, descrição e data de vencimento ”) deixe a ia configurar tudo para você automaticamente 3\ lendo e escrevendo dados usando sdk com objective c, podemos usar pfobject para lidar com operações de criação e consulta por exemplo \#import \<parse/parse h> // create a new todo item pfobject todo = \[pfobject objectwithclassname @"todo"]; \[todo setobject @"buy groceries" forkey @"title"]; \[todo setobject @no forkey @"iscompleted"]; \[todo saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"todo saved successfully!"); } else { nslog(@"error saving todo %@", error localizeddescription); } }]; // query all todos pfquery query = \[pfquery querywithclassname @"todo"]; \[query findobjectsinbackgroundwithblock ^(nsarray nullable objects, nserror nullable error) { if (!error) { for (pfobject item in objects) { nslog(@"todo %@", item\[@"title"]); } } }]; 4\ lendo e escrevendo dados usando rest se você preferir pular o sdk curl x post \\ h "x parse application id your application 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 graphql back4app também fornece uma interface graphql mutation { createtodo(input { fields { title "wash the car", iscompleted false } }) { todo { objectid title iscompleted } } } 6\ trabalhando com consultas ao vivo (opcional) se o seu aplicativo ios precisar de atualizações em tempo real ative consultas ao vivo em configurações do servidor no painel do back4app configure o parse com livequeryserverurl \[parse initializewithconfiguration \[parseclientconfiguration configurationwithblock ^(id\<parsemutableclientconfiguration> configuration) { configuration applicationid = @"your app id"; configuration clientkey = @"your client key"; configuration server = @"https //parseapi back4app com"; configuration livequeryserverurl = @"wss\ //your subdomain b4a io"; }]]; em seguida, inscreva se para atualizações ao vivo no seu código objective c isso garante que sua interface de usuário mostre os dados mais recentes instantaneamente passo 3 – aplicando segurança com acls e clps listas de controle de acesso (acls) e permissões de nível de classe (clps) o back4app usa acls e clps para segurança detalhada clps se aplicam a uma classe inteira (tabela), enquanto acls se aplicam a objetos individuais configurando permissões de nível de classe na seção banco de dados passo 4 – escrevendo funções de código em nuvem por que código em nuvem? o código em nuvem é útil para lógica do lado do servidor—manipulação de gatilhos, validações ou tarefas em segundo plano ele mantém seu código oculto do cliente, aumentando a segurança função de exemplo parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "no text provided"; } return { length text length }; }); este exemplo calcula o comprimento de uma string fornecida pelo cliente implantação use o back4app cli https //www back4app com/docs/local development/parse cli ou a seção código em nuvem > funções no painel para implantar seu main js chamando código em nuvem a partir do objective c \[pfcloud callfunctioninbackground @"calculatetextlength" withparameters @{@"text" @"hello back4app"} block ^(id nullable result, nserror nullable error) { if (!error) { nsnumber len = result\[@"length"]; nslog(@"text length %@", len); } }]; passo 5 – configurando autenticação usuários do parse a classe pfuser do back4app gerencia cadastro, login e segurança por padrão, o pfuser lida com hash de senhas, sessões e campos de usuário cadastro pfuser user = \[pfuser user]; user username = @"alice"; user password = @"secret123"; user email = @"alice\@example com"; \[user signupinbackgroundwithblock ^(bool succeeded, nserror nullable error) { if (succeeded) { nslog(@"user signed up successfully!"); } else { nslog(@"sign up error %@", error localizeddescription); } }]; login \[pfuser loginwithusernameinbackground @"alice" password @"secret123" block ^(pfuser nullable user, nserror nullable error) { if (user) { nslog(@"user logged in %@", user username); } else { nslog(@"login error %@", error localizeddescription); } }]; login social back4app suporta facebook , apple , google , etc integre essas plataformas e vincule as sessões de usuário de acordo confira a documentação de login social https //www back4app com/docs/platform/sign in with apple passo 6 – gerenciando armazenamento de arquivos carregando & recuperando arquivos você pode armazenar imagens, documentos ou outros dados binários usando pffileobject nsdata imagedata = uiimagepngrepresentation(\[uiimage imagenamed @"localimage"]); pffileobject parsefile = \[pffileobject fileobjectwithname @"image png" data\ imagedata]; pfobject photo = \[pfobject objectwithclassname @"photo"]; \[photo setobject\ parsefile forkey @"imagefile"]; \[photo saveinbackgroundwithblock ^(bool succeeded, nserror nullable error) { if (succeeded) { nslog(@"file uploaded successfully"); } }]; para recuperar pffileobject photofile = photo\[@"imagefile"]; \[photofile getdatainbackgroundwithblock ^(nsdata nullable data, nserror nullable error) { if (!error) { uiimage image = \[uiimage imagewithdata\ data]; // use the image in your ui } }]; passo 7 – verificação de email e redefinição de senha por que é importante? a verificação de email ajuda a garantir a validade da conta do usuário a redefinição de senha oferece um fluxo seguro caso os usuários esqueçam suas credenciais configuração do painel vá para configurações de email no seu painel do back4app ative as opções de verificação de email e redefinição de senha personalize os modelos de email conforme necessário implementação se você quiser acionar uma redefinição de senha manualmente em seu aplicativo \[pfuser requestpasswordresetforemailinbackground @"alice\@example com" block ^(bool succeeded, nserror nullable error) { if (succeeded) { nslog(@"reset email sent!"); } else { nslog(@"error %@", error localizeddescription); } }]; passo 8 – agendando tarefas com cloud jobs o que são cloud jobs? cloud jobs automatizam tarefas recorrentes—como limpar dados antigos, gerar relatórios diários ou enviar notificações em massa exemplo de tarefa de limpeza diária em seu main js parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); 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 `; }); em seguida, agende o em configurações do app > configurações do servidor > tarefas em segundo plano você pode escolher uma execução diária, por exemplo passo 9 – integrando webhooks visão geral webhooks permitem que o back4app envie requisições http para serviços externos sempre que eventos ocorrerem, como a criação de objetos configuração no seu painel do back4app > mais > webhooks adicione um novo endpoint (url) decida quais eventos acionam o webhook (por exemplo, após um todo ser salvo) passo 10 – explorando o painel de administração do back4app visão geral o painel de administração do back4app é uma interface simples e centrada em modelos que partes interessadas não técnicas podem usar para realizar operações crud sem codificação ativação no seu painel, vá para mais > aplicativo admin e ative o após criar seu primeiro usuário administrador, você pode configurar um subdomínio personalizado para acessar o painel este painel pode simplificar tarefas do dia a dia, como editar registros, visualizar logs ou atribuir funções, sem mergulhar no banco de dados bruto conclusão você agora viu como construir um backend para objective c usando o back4app ao longo deste tutorial, você criou um novo projeto no back4app configurou e leu do banco de dados usando o parse ios sdk, rest ou graphql habilitou atualizações em tempo real com live queries aplicou segurança usando acls e clps implantou cloud code para lógica do lado do servidor gerenciou autenticação de usuários, armazenamento de arquivos, verificação de e mail e redefinições de senha configurou tarefas agendadas e webhooks explorou o painel de administração para fácil gerenciamento de dados esta base permite que você escale seu aplicativo ios enquanto se concentra na experiência do front end a sinergia entre objective c e back4app é uma maneira comprovada de acelerar o desenvolvimento, economizando tempo e esforço próximos passos aprimore seu backend com lógica personalizada avançada, notificações push ou análises integre serviços externos ou bibliotecas de código aberto para login social, faturamento ou mensagens verifique a documentação oficial do back4app para dicas de otimização, melhores práticas e tutoriais detalhados construa exemplos do mundo real como aplicativos de chat, placares de jogos ou serviços baseados em localização usando esses padrões esperamos que você tenha achado este guia informativo! aproveitar o back4app e o parse ios sdk ajuda você a desenvolver um sistema robusto e seguro sem a necessidade de gerenciamento pesado de servidores, permitindo que você se concentre em construir sua melhor experiência móvel