Iniciadores Rápidos

¿Cómo construir un backend para Swift?

44min

Introducción

En este tutorial, aprenderás a construir un backend completo para una aplicación de Swift utilizando 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, consultas en tiempo real (Consultas en Vivo) y más, para crear un backend seguro, escalable y robusto que se comunique sin problemas con tu aplicación cliente basada en Swift.

Al aprovechar la configuración rápida y el entorno intuitivo de Back4App, reducirás drásticamente el tiempo y el esfuerzo requeridos en comparación con la configuración manual de servidores y bases de datos.

A lo largo del camino, obtendrás experiencia práctica con funcionalidades cruciales, incluyendo características de seguridad avanzadas, programación de tareas con Cloud Jobs y configuración de webhooks para integraciones externas.

Al final de este tutorial, estarás bien preparado para mejorar este servicio backend fundamental en una aplicación lista para producción o incorporar fácilmente lógica personalizada y APIs de terceros según sea necesario.

Verás cómo trabajar con una plataforma BaaS puede transformar el desarrollo backend en una experiencia más fluida, especialmente al crear un backend ágil o cualquier otra aplicación backend. ¡Comencemos!

Requisitos previos

Para completar este tutorial, necesitarás:

  • Una cuenta de Back4App y un nuevo proyecto de Back4App Comenzando con Back4App. Si no tienes una cuenta, puedes crear una gratis. Sigue la guía anterior para preparar tu proyecto.
  • Un entorno de desarrollo Swift Puedes usar Xcode como tu IDE para crear aplicaciones iOS o macOS usando Swift. Asegúrate de tener instalada una versión estable reciente de Xcode en tu máquina.
  • Familiaridad con el lenguaje de programación Swift Si eres nuevo en Swift, revisa la Documentación de Swift o un tutorial para principiantes antes de comenzar.
  • Parse Swift SDK Si estás usando CocoaPods, agrega pod 'ParseSwiftOG' a tu Podfile. O si estás usando Swift Package Manager, agrega .package(url: "https://github.com/netreconlab/Parse-Swift.git", from: "5.0.0") a tus dependencias. Lee más en la Documentación de Parse Swift.

Asegúrate de tener todos estos requisitos previos en su lugar antes de comenzar. Tener tu proyecto de Back4App configurado y tu entorno local de Swift listo te ayudará a seguir más fácilmente.

Paso 1 – Crear un Nuevo Proyecto en Back4App y conectar

El primer paso para construir tu backend de Swift en Back4App es crear un nuevo proyecto. Este proyecto es la base para todas las configuraciones de backend discutidas en este tutorial. Swift puede conectarse sin problemas a tu nuevo backend utilizando el SDK de Parse Swift. Veamos cómo.

Crear un Nuevo Proyecto

  1. Inicia sesión en tu cuenta de Back4App.
  2. Haz clic en el botón “Nueva App” en tu panel de control de Back4App.
  3. Nombra tu app (por ejemplo, “Swift-Backend-Tutorial”).
Document image


Después de la creación, verás la nueva app listada en tu panel de control. Aquí es donde configurarás tu base de datos, funciones en la nube y otros ajustes cruciales para tu app de backend.

Conectar el SDK de Parse Swift

Back4App está impulsado por la Plataforma Parse, que proporciona la base para tu base de datos, actualizaciones en tiempo real, autenticación y más. Tu aplicación Swift puede conectarse a Back4App instalando e inicializando el SDK de Parse Swift.

Recupera tus Claves de Parse: En tu panel de Back4App, ve a “Configuraciones de la Aplicación” o “Seguridad y Claves” para encontrar tu ID de Aplicación y Clave de Cliente. También verás tu URL del Servidor Parse (a menudo https://parseapi.back4app.com).

Document image


Instala el SDK de Parse Swift:

  • Gestor de Paquetes Swift (Recomendado):
Swift

  • CocoaPods:
Ruby


Inicializa Parse en tu Aplicación:

Puedes hacer esto en el punto de entrada principal de tu proyecto Swift (por ejemplo, AppDelegate.swift o la estructura @main de SwiftUI). Por ejemplo:

Swift


Con esta configuración, tu cliente Swift ahora puede enviar solicitudes seguras a Back4App. Has establecido una conexión robusta que simplifica las operaciones de datos sin requerir llamadas manuales REST o GraphQL (aunque aún puedes usarlas si lo deseas).

Paso 2 – Configuración de la Base de Datos

En este paso, configurarás tu base de datos backend en Back4App y verás cómo gestionar datos desde tu código Swift. Back4App utiliza el modelo de datos Parse, lo que te permite almacenar objetos en estructuras similares a clases. Swift puede interactuar fácilmente con estas clases a través del SDK de Parse Swift.

Creando un Modelo de Datos

  1. Navega a la sección “Base de Datos” en tu panel de control de Back4App.
  2. Crea una nueva clase (por ejemplo, “Todo”).
  3. Agrega columnas para los datos que necesitas, como “title” (String) y “isCompleted” (Boolean).
Crear Nueva Clase
Crear Nueva Clase


También puedes permitir que el SDK de Parse Swift cree estas columnas automáticamente la primera vez que guardes un objeto. De cualquier manera, tu esquema debe coincidir con los datos que almacenas para que tu aplicación pueda manejarlos sin problemas.

Creando un Modelo de Datos Usando el Agente de IA

Back4App proporciona un Agente de IA que puede ayudarte a diseñar tu modelo de datos:

  1. Abre el Agente de IA desde el panel de control o menú de tu aplicación.
  2. Describe tu modelo de datos en lenguaje natural. Por ejemplo: “Por favor, crea un nuevo proyecto Swift con un esquema de clase ToDo.”
  3. Deja que el Agente de IA cree el Esquema por ti automáticamente.
Document image


Lectura y Escritura de Datos: SDK de Parse Swift

Usando el SDK de Parse Swift, puedes crear una estructura que cumpla con ParseObject para representar tus datos. Por ejemplo, si tienes una Todo clase:

Swift


Crea un objeto Todo y guarda:

Swift


Consulta todos los elementos de Todo:

Swift


Lectura y Escritura de Datos: API REST

Si prefieres solicitudes HTTP estándar, puedes usar la API REST. Por ejemplo, para crear un nuevo Todo:

Bash


Lectura y Escritura de Datos: API GraphQL

GraphQL también es compatible. Aquí hay una muestra de mutación para crear un Todo:

GraphQL


Trabajando con Consultas en Vivo

Si tu aplicación de Swift necesita actualizaciones en tiempo real, Back4App soporta Consultas en Vivo. Para iOS:

  1. Habilitar Consultas en Vivo en la Configuración del Servidor de tu aplicación.
  2. Conectar especificando Parse.liveQueryServerURL en tu aplicación:
Swift

  1. Suscribirse a actualizaciones en vivo:
Swift


Ahora, cada vez que se crea, actualiza o elimina un Todo, recibirás actualizaciones en tiempo real. Esto es especialmente útil para características colaborativas o sensibles al tiempo en el desarrollo de tu backend en Swift.

Paso 3 – Aplicando Seguridad con ACLs y CLPs

¿Qué son ACLs y CLPs?

Back4App utiliza Listas de Control de Acceso (ACLs) y Permisos a Nivel de Clase (CLPs) para asegurar tus datos. Las ACLs te permiten definir permisos por objeto, mientras que los CLPs establecen reglas de acceso predeterminadas para toda una clase.

Document image


Permisos a Nivel de Clase

En el Panel de Control de Back4App:

  1. Ve a Base de Datos y selecciona una clase (por ejemplo, “Todo”).
  2. Abre Permisos a Nivel de Clase.
  3. Configura restricciones en lectura, escritura o acceso público.

Listas de Control de Acceso (ACLs)

Al crear o actualizar un ParseObject en Swift, puedes establecer un ACL. Por ejemplo:

Swift


Esto asegura que solo el usuario especificado pueda leer o modificar ese objeto. Combinar ACLs y CLPs forma un modelo de seguridad robusto y en capas para los datos de tu aplicación.

Paso 4 – Escribiendo Funciones de Cloud Code

¿Por qué Cloud Code?

Cloud Code te permite ejecutar lógica de Swift del lado del servidor (o JavaScript si usas el estilo original de Cloud Code de Parse) sin exponer secretos al cliente. Es perfecto para validaciones, disparadores, tareas programadas y más.

Ejemplo de Función

Aquí hay un ejemplo basado en JavaScript, pero también puedes trabajar en TypeScript o llamar desde Swift. En tu Cloud Code de Back4App, crea main.js:

JS


Es posible que desees instalar módulos NPM incluyéndolos en tu package.json archivo, y luego llamándolos en main.js. Una vez desplegado, puedes invocar estas funciones desde tu código Swift usando callFunction.

Despliegue

Despliega tu Cloud Code a través de:

Bash


También puedes desplegar a través del panel de Back4App yendo a Cloud Code > Functions. Pega tu código en el editor en línea y haz clic en Deploy.

Llamando desde Swift

Swift


Paso 5 – Configurando la Autenticación

Habilitando la Autenticación de Usuario

En el Tablero, verás una clase predeterminada _User para cuentas de usuario. Activa cualquier proveedor de autenticación adicional (Apple, Facebook, Google, etc.) en la Configuración de Autenticación de tu aplicación si es necesario.

Registrarse e Iniciar Sesión (Swift)

Swift


Inicio de Sesión Social

Back4App soporta inicio de sesión OAuth con Google, Apple y Facebook. Configura estos proveedores en tu página de configuración de Autenticación, y utiliza el código de integración relevante de Parse Swift en tu aplicación Swift (por ejemplo, ParseFacebookUtils o ParseAppleUtils) para manejar los flujos de autenticación. Para más detalles, consulta la Documentación de Inicio de Sesión Social.

Paso 6 – Manejo del Almacenamiento de Archivos

Configurando el Almacenamiento de Archivos

Puedes almacenar imágenes, videos o cualquier archivo en Back4App. En Swift, tienes ParseFile:

Swift


Luego puedes adjuntar este archivo a un ParseObject y guardarlo. Recupera la URL del archivo para mostrarla o descargarla en otro lugar.

Consideraciones de Seguridad

Para restringir el acceso a los archivos, puedes usar la configuración de archivos de Parse Server. Por ejemplo, podrías permitir que solo los usuarios autenticados suban archivos o especificar permisos de lectura/escritura en tu código Swift.

Paso 7 – Verificación de Correo Electrónico y Restablecimiento de Contraseña

¿Por qué correos de verificación y restablecimiento?

Validar el correo electrónico de un usuario asegura un buzón real y activo. El restablecimiento de contraseña ayuda a tus usuarios a recuperar de forma segura el acceso a la cuenta si olvidan sus credenciales.

Configurando en Back4App

Ve a Configuración de Correo Electrónico y habilita Verificación de Correo Electrónico. Edita tus plantillas de correo electrónico tanto para la verificación como para los flujos de restablecimiento.

Activando un Restablecimiento de Contraseña desde Swift

Swift


Paso 8 – Programando Tareas con Trabajos en la Nube

Trabajos en la Nube

Puedes programar tareas del lado del servidor en Back4App. Por ejemplo, limpiar datos antiguos o enviar informes semanales. Define un trabajo en tu Código en la Nube y prográmalo a través del panel de control de Back4App.

JS


Luego, en la Configuración del Servidor de Back4App > Trabajos en Segundo Plano, puedes programarlo para que se ejecute diariamente o en cualquier intervalo.

Programando un trabajo en la nube
Programando un trabajo en la nube


Paso 9 – Integrando Webhooks

¿Qué son los Webhooks?

Los webhooks permiten que tu aplicación envíe automáticamente datos a servicios externos cada vez que ocurren ciertos eventos. Esto es perfecto para integrarse con Slack, Stripe u otras API de terceros.

Configuración

  1. En tu panel de Back4App, ve a Más > Webhooks.
  2. Agrega un endpoint de webhook (por ejemplo, https://example.com/webhook).
  3. Elige desencadenadores (por ejemplo, creación de objeto en “Todo”).
Agregando un Webhook
Agregando un Webhook


Para lógica personalizada, también puedes emitir solicitudes a URL externas en los desencadenadores de Cloud Code:

Antes de guardar WebHook
Antes de guardar WebHook


Paso 10 – Explorando el Panel de Administración de Back4App

¿Qué es el Panel de Administración?

La Aplicación de Administración de Back4App es una interfaz de punto y clic para personal no técnico o de soporte. Proporciona una GUI simple para realizar operaciones CRUD en sus datos, ideal para gestionar datos fuera de su entorno de desarrollo.

Habilitando la Aplicación de Administración

  1. Ir al Panel de la Aplicación > Más > Aplicación de Administración.
  2. Habilitar la Aplicación de Administración y elegir un subdominio.
  3. Crear un Usuario Administrador.
Habilitar Aplicación de Administración
Habilitar Aplicación de Administración


Una vez activada, cualquier persona con las credenciales adecuadas puede ver y editar sus datos desde una interfaz web fácil de usar, sin necesidad de código.

Conclusión

Al seguir este tutorial completo, has aprendido cómo construir un backend para Swift utilizando Back4App. Específicamente, has:

  • Creado un backend seguro para tu aplicación Swift.
  • Configurado una base de datos con esquemas de clase y relaciones de datos.
  • Trabajado con consultas en tiempo real (Consultas en Vivo) para actualizaciones inmediatas.
  • Establecido una seguridad robusta con ACLs y CLPs.
  • Usado Cloud Code para ejecutar lógica personalizada en el lado del servidor.
  • Implementado la autenticación de usuarios con verificación y restablecimiento de contraseñas.
  • Manejado cargas de archivos de manera segura.
  • Programado tareas automatizadas con Cloud Jobs.
  • Aprendido sobre Webhooks para integrar APIs externas.
  • Explorado el Panel de Administración para la gestión directa de datos.

Ahora tienes un servicio backend funcional y escalable para tu aplicación Swift, uno que puede ser fácilmente ampliado para manejar características más complejas, conectarse a servicios de terceros o adaptarse a un tráfico de usuarios más pesado. También has visto de primera mano cómo la combinación de las características BaaS de Back4App y la sintaxis moderna de Swift puede acelerar el desarrollo del backend.

Próximos Pasos

  • Construir una aplicación Swift lista para producción desarrollando tu UI/UX.
  • Integrar características avanzadas como autenticación especializada (basada en roles, SSO), o lógica adicional de Cloud Code para reglas específicas de dominio.
  • Consulta la documentación oficial de Back4App para profundizar en registros, análisis o seguridad avanzada.
  • Explora otros tutoriales sobre chat en tiempo real, paneles de IoT o aplicaciones basadas en ubicación. Combina estos con APIs externas para resolver desafíos del mundo real.

¡Así es como construir un backend para Swift usando Back4App! ¡Feliz codificación!