Quickstarters
Feature Overview
¿Cómo construir un backend para Objective-C?
39 min
introducción en este tutorial, aprenderás cómo construir un backend para objective c usando back4app recorreremos la integración de características esenciales de back4app, como la gestión de bases de datos, funciones de cloud code, apis rest y graphql, autenticación de usuarios y consultas en tiempo real, para crear un backend seguro, escalable y robusto que se comunique sin problemas con tu aplicación ios usaremos el sdk de parse para ios, que es de código abierto, para manejar todos nuestros requisitos de datos verás cómo reducir el tiempo y el esfuerzo involucrados en la configuración de servidores, almacenamiento y seguridad aprovechando el entorno flexible de back4app este tutorial mostrará ejemplos de código en objective c, para que puedas escribir texto alineado a tu flujo de trabajo típico de xcode al final, tendrás los bloques de construcción para una aplicación móvil lista para producción, o podrás personalizarla aún más para adaptarla a tu caso de uso exacto requisitos previos para completar este tutorial, necesitarás una cuenta de back4app y un nuevo proyecto de back4app comenzando con back4app https //www back4app com/docs/get started/new parse app si no tienes una cuenta, puedes crear una gratis sigue la guía anterior para preparar tu proyecto entorno de desarrollo de objective c asegúrate de tener instalada una versión reciente de xcode descargar xcode desde la mac app store https //apps apple com/us/app/xcode/id497799835 conocimiento de cocoapods o swift package manager (opcional, pero recomendado) guía de swift package manager https //github com/parse community/parse sdk ios osx familiaridad con objective c, conceptos básicos de aplicaciones ios o conceptos relacionados documentación de objective c de apple https //developer apple com/library/archive/documentation/cocoa/conceptual/programmingwithobjectivec/introduction/introduction html asegúrate de tener todos estos requisitos previos antes de comenzar, para que tu viaje transcurra sin problemas paso 1 – crear un nuevo proyecto en back4app y conectar ¿por qué este paso? un nuevo proyecto de back4app es la base de tu backend te da un lugar para almacenar tus datos, ejecutar funciones en la nube y gestionar la seguridad comencemos creando un proyecto en back4app crear un proyecto en back4app inicia sesión en tu cuenta de back4app haz clic en “nueva app” en tu panel de back4app nombra tu app (por ejemplo, “objectivec backend tutorial”) y finaliza verás tu nueva app en el panel de back4app esta app manejará todas las configuraciones de backend que estamos a punto de discutir instalando el sdk de parse para ios (objective c) back4app trabaja mano a mano con el sdk de parse para ios este sdk simplifica las operaciones de datos, las características en tiempo real, la autenticación de usuarios y más para tu aplicación ios recupera tus claves de parse en tu panel de back4app, navega a configuración de la aplicación o seguridad y claves para encontrar tu id de aplicación y clave de cliente la url del servidor de parse es a menudo https //parseapi back4app com integra parse usando swift package manager o cocoapods cocoapods pod 'parse' swift package manager abre xcode, elige “archivo” > “agregar paquetes…” agrega el repositorio https //github com/parse community/parse sdk ios osx confirma parse en tu objetivo de ios inicializando parse en objective c abre appdelegate m e importa el 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; } con esto, tu aplicación objective c está conectada de forma segura a tu backend de back4app ahora estás listo para leer, escribir y gestionar datos en el servidor paso 2 – configurando la base de datos 1\ creando un modelo de datos (esquema) en back4app, los datos residen en clases—como tablas en una base de datos supongamos que queremos una clase “todo” simple puedes crearla manualmente en la base de datos sección del panel de back4app agrega campos como título (string), iscompleted (boolean), y así sucesivamente 2\ creando un modelo de datos usando el agente de ia back4app ofrece un agente de ia para ayudar a generar un esquema abre el agente de ia en el panel de control de tu aplicación describe tu modelo de datos en lenguaje natural (por ejemplo, “crea una nueva clase todo con título, descripción y fecha de vencimiento ”) deja que la ia configure todo automáticamente para ti 3\ leyendo y escribiendo datos usando sdk con objective c, podemos usar pfobject para manejar operaciones de creación y consulta por ejemplo \#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\ lectura y escritura de datos usando rest si prefieres omitir el 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\ lectura y escritura de datos usando graphql back4app también proporciona una interfaz graphql mutation { createtodo(input { fields { title "wash the car", iscompleted false } }) { todo { objectid title iscompleted } } } 6\ trabajando con consultas en vivo (opcional) si tu aplicación ios necesita actualizaciones en tiempo real habilitar consultas en vivo bajo configuraciones del servidor en el panel de control de back4app configurar parse con 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"; }]]; luego suscríbete a actualizaciones en vivo en tu código objective c esto asegura que tu interfaz de usuario muestre los datos más recientes al instante paso 3 – aplicando seguridad con acls y clps listas de control de acceso (acls) y permisos a nivel de clase (clps) back4app utiliza acls y clps para una seguridad detallada los clps se aplican a una clase completa (tabla), mientras que las acls se aplican a objetos individuales configurando permisos a nivel de clase bajo la base de datos sección selecciona una clase (por ejemplo, “todo”) haz clic en permisos a nivel de clase controla quién puede leer, escribir o realizar consultas a nivel de clase configurando acls las acls son a nivel de objeto por ejemplo pfacl acl = \[pfacl aclwithuser \[pfuser currentuser]]; \[acl setpublicreadaccess\ no]; \[acl setpublicwriteaccess\ no]; todo acl = acl; \[todo saveinbackground]; este fragmento restringe la lectura/escritura solo al usuario actual paso 4 – escribiendo funciones de cloud code ¿por qué cloud code? cloud code es útil para la lógica del lado del servidor manejo de disparadores, validaciones o tareas en segundo plano mantiene tu código oculto del cliente, aumentando la seguridad función de ejemplo parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "no text provided"; } return { length text length }; }); este ejemplo calcula la longitud de una cadena proporcionada por el cliente despliegue usa el back4app cli https //www back4app com/docs/local development/parse cli o la sección cloud code > funciones en el panel de control para desplegar tu main js llamando a cloud code desde 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); } }]; paso 5 – configurando la autenticación usuarios de parse la clase pfuser de back4app gestiona el registro, inicio de sesión y seguridad por defecto, pfuser maneja el hash de contraseñas, sesiones y campos de usuario registro 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); } }]; iniciar sesión \[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); } }]; inicio de sesión social back4app soporta facebook , apple , google , etc integra estas plataformas y vincula las sesiones de usuario en consecuencia consulta la documentación de inicio de sesión social https //www back4app com/docs/platform/sign in with apple paso 6 – manejo del almacenamiento de archivos subiendo y recuperando archivos puedes almacenar imágenes, documentos u otros datos binarios 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 } }]; paso 7 – verificación de correo electrónico y restablecimiento de contraseña ¿por qué es importante? la verificación de correo electrónico ayuda a garantizar la validez de la cuenta del usuario el restablecimiento de contraseña ofrece un flujo seguro si los usuarios olvidan sus credenciales configuración del panel de control ve a configuración de correo electrónico en tu panel de control de back4app habilita las opciones de verificación de correo electrónico y restablecimiento de contraseña unhandled content type personaliza las plantillas de correo electrónico según sea necesario implementación si deseas activar un restablecimiento de contraseña manualmente en tu aplicación \[pfuser requestpasswordresetforemailinbackground @"alice\@example com" block ^(bool succeeded, nserror nullable error) { if (succeeded) { nslog(@"reset email sent!"); } else { nslog(@"error %@", error localizeddescription); } }]; paso 8 – programación de tareas con trabajos en la nube ¿qué son los trabajos en la nube? los trabajos en la nube automatizan tareas recurrentes, como limpiar datos antiguos, generar informes diarios o enviar notificaciones masivas ejemplo de trabajo de limpieza diaria en tu 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 `; }); luego prográmalo en configuraciones de la aplicación > configuraciones del servidor > trabajos en segundo plano puedes elegir una ejecución diaria, por ejemplo paso 9 – integración de webhooks descripción general los webhooks permiten a back4app enviar solicitudes http a servicios externos cada vez que ocurren eventos, como la creación de objetos configuración en tu panel de back4app > más > webhooks agrega un nuevo endpoint (url) decide qué eventos activan el webhook (por ejemplo, después de que se guarda un todo) paso 10 – explorando el panel de administración de back4app descripción general el panel de administración de back4app es una interfaz simple y centrada en modelos que los interesados no técnicos pueden usar para realizar operaciones crud sin codificación activación en tu panel, ve a más > aplicación de administración y habilítala después de crear tu primer usuario administrador, puedes configurar un subdominio personalizado para acceder al panel este panel puede simplificar las tareas diarias como editar registros, ver registros o asignar roles, sin profundizar en la base de datos en bruto conclusión ahora has visto cómo construir un backend para objective c utilizando back4app a lo largo de este tutorial, tú creaste un nuevo proyecto en back4app configuraste y leíste desde la base de datos utilizando el sdk de parse para ios, rest o graphql habilitaste actualizaciones en tiempo real con live queries aplicaste seguridad utilizando acls y clps desplegaste cloud code para lógica del lado del servidor manejaste la autenticación de usuarios, almacenamiento de archivos, verificación de correo electrónico y restablecimiento de contraseñas configuraste tareas programadas y webhooks exploraste el panel de administración para una fácil gestión de datos esta base te permite escalar tu aplicación ios mientras te concentras en la experiencia del front end la sinergia entre objective c y back4app es una forma probada de acelerar el desarrollo, ahorrando tiempo y esfuerzo próximos pasos mejora tu backend con lógica personalizada avanzada, notificaciones push o análisis integra servicios externos o bibliotecas de código abierto para inicio de sesión social, facturación o mensajería consulta la documentación oficial de back4app para consejos de optimización, mejores prácticas y tutoriales en profundidad construye ejemplos del mundo real como aplicaciones de chat, tablas de clasificación de juegos o servicios basados en ubicación utilizando estos patrones ¡esperamos que encuentres esta guía informativa! aprovechar back4app y el sdk de parse para ios te ayuda a desarrollar un sistema robusto y seguro sin una gestión pesada del servidor, permitiéndote concentrarte en construir tu mejor experiencia móvil