¿Cómo construir un backend para Kotlin?
En este tutorial, aprenderás a construir un backend completo para una aplicación de Android (escrita en Kotlin) utilizando Back4App.
Recorreremos la integración de características esenciales de Back4App, incluyendo gestión de bases de datos, funciones de Cloud Code, APIs REST y GraphQL, autenticación de usuarios y consultas en tiempo real (Live Queries), para crear un backend seguro, escalable y robusto que se comunique sin problemas con tu aplicación de Android.
También verás cómo la configuración rápida y el entorno intuitivo de Back4App pueden reducir drásticamente el tiempo y el esfuerzo en comparación con la configuración manual de servidores y bases de datos.
A lo largo del camino, ganarás experiencia práctica con funcionalidades clave, incluyendo características avanzadas de seguridad, 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 esta configuración básica en una aplicación lista para producción, o incorporar fácilmente lógica personalizada y APIs de terceros según sea necesario.
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.
- Entorno básico de desarrollo de Android/Kotlin Asegúrate de tener Android Studio instalado en tu máquina. Puedes seguir la documentación oficial de configuración de Android Studio si aún no lo has configurado.
- Un mínimo de Android 4.0 o superior en la configuración Gradle de tu aplicación Típicamente, establecerás esto en tu minSdkVersion en el build.gradle de tu módulo.
- Familiaridad con Kotlin y conceptos básicos de Android Documentación para desarrolladores de Android. Si eres nuevo en Android o Kotlin, revisa la documentación oficial o un tutorial para principiantes antes de comenzar.
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 Android listo te ayudará a seguir más fácilmente.
El primer paso para construir tu backend de Android en Back4app es crear un nuevo proyecto. Si aún no has creado uno, sigue estos pasos:
- Inicia sesión en tu cuenta de Back4app.
- Haz clic en el botón “Nueva App” en tu panel de control de Back4app.
- Dale un nombre a tu app (por ejemplo, “Android-Kotlin-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Una vez que se crea el proyecto, lo verás listado en tu panel de control de Back4app. Este proyecto será la base para todas las configuraciones de backend discutidas en este tutorial.
Back4App se basa en la Plataforma Parse para gestionar tus datos, proporcionar características en tiempo real, manejar la autenticación de usuarios y más. Integrar tu aplicación de Android con Back4App implica agregar las dependencias del SDK de Parse para Android a tus archivos Gradle e inicializarlas con las credenciales de tu panel de control de Back4App.
Recupera tus Claves de Parse: En tu panel de control de Back4App, navega a la sección “Configuración de la aplicación” o “Seguridad y Claves” de tu aplicación para encontrar tu ID de Aplicación y Clave de Cliente. También encontrarás la URL del Servidor Parse (a menudo en el formato https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Agrega el SDK de Parse a tus build.gradle archivos:
En tu build.gradle raíz (nivel de proyecto):
En tu build.gradle a nivel de módulo (usualmente app/build.gradle):
Inicializa Parse en tu aplicación de Android:
Crea una Application personalizada (por ejemplo, App.kt) si aún no tienes una:
A continuación, abre tu AndroidManifest.xml y registra la Application personalizada:
Al completar este paso, has establecido una conexión segura entre tu front end de Android (Kotlin) y el backend de Back4App. Todas las solicitudes y transacciones de datos se enrutan de manera segura a través de este SDK, reduciendo la complejidad de las llamadas manuales REST o GraphQL (aunque aún puedes usarlas cuando sea necesario).
Con tu proyecto de Back4App configurado y el SDK de Parse integrado en tu aplicación de Android, ahora puedes comenzar a guardar y recuperar datos. A continuación se muestra un ejemplo utilizando Kotlin para crear y obtener datos.
Alternativamente, puedes usar los puntos finales de la API REST de Back4App:
Back4app también proporciona una interfaz GraphQL:
Estas diversas opciones te permiten integrar operaciones de datos de la manera que mejor se adapte a tu proceso de desarrollo, ya sea a través del SDK de Parse, REST o GraphQL.
Por defecto, Parse permite la creación de esquemas sobre la marcha, pero también puedes definir tus clases y tipos de datos en el panel de control de Back4app para tener más control.
- Navega a la sección “Base de datos” en tu panel de control de Back4app.
- Crea una nueva clase (por ejemplo, “Todo”) y añade columnas relevantes, como título (String) y estáCompleto (Boolean).
![Crear Nueva Clase Crear Nueva Clase](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4app ofrece un Agente de IA que puede ayudarte a diseñar tu modelo de datos:
- Abre el Agente de IA desde tu panel de control de la aplicación o en el menú.
- Describe tu modelo de datos en un lenguaje simple (por ejemplo, “Por favor, crea una nueva aplicación ToDo en back4app con un esquema de clase completo.”).
- Deja que el Agente de IA cree el Esquema por ti.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Usar el Agente de IA puede ahorrarte tiempo al configurar tu arquitectura de datos y asegurar la consistencia en toda tu aplicación.
Si tienes datos relacionales—digamos, un Category objeto que apunta a múltiples Todo elementos—puedes usar Pointers o Relations en Parse. Por ejemplo, agregar un puntero a un Category:
Cuando consultas, también puedes incluir datos de punteros:
Esta include("category") llamada obtiene los detalles de la categoría junto a cada Todo, haciendo que tus datos relacionales sean accesibles sin problemas.
Para actualizaciones en tiempo real, Back4app proporciona Live Queries. Puedes suscribirte a cambios en una clase específica desde tu aplicación de Android:
- Habilita Live Queries en tu panel de Back4App bajo la Configuración del Servidor de tu aplicación.
- Inicializa una Suscripción de Consulta en Vivo en tu código:
Cada vez que se crea, actualiza o elimina un nuevo Todo, el cliente recibe una notificación en tiempo real, lo que es perfecto para aplicaciones colaborativas o dinámicas.
Back4app toma la seguridad en serio al proporcionar Listas de Control de Acceso (ACLs) y Permisos a Nivel de Clase (CLPs). Estas características te permiten restringir quién puede leer o escribir datos a nivel de objeto o de clase, asegurando que solo los usuarios autorizados puedan modificar tus datos.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
Una ACL se aplica a objetos individuales para determinar qué usuarios, roles o el público pueden realizar operaciones de lectura/escritura. Por ejemplo:
Los CLPs rigen los permisos predeterminados de toda la clase, como si la clase es legible o escribible públicamente.
- Ve a tu Panel de Control de Back4app, selecciona tu aplicación y abre la Base de Datos sección.
- Selecciona una clase (por ejemplo, “Todo”).
- Abre la pestaña de Permisos a Nivel de Clase.
- Configura tus predeterminados, como “Requiere Autenticación” para leer o escribir, o “Sin Acceso” para el público.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
El Código en la Nube te permite ejecutar código personalizado similar a Kotlin en el Servidor Parse (subido como .js archivos), sin necesidad de gestionar la infraestructura del servidor. Esto es ideal para lógica de negocio, validaciones, disparadores y llamadas a APIs externas.
Normalmente colocas funciones de JavaScript, disparadores y cualquier módulo npm requerido en un main.js archivo. Este archivo se despliega en tu proyecto de Back4App y se ejecuta en el entorno de Parse Server.
- Lógica de Negocios
- Validaciones de Datos
- Disparadores (como beforeSave, afterSave)
- Aplicación de Seguridad
- Integraciones con APIs de terceros
A continuación se muestra una función simple de Cloud Code:
Desplegando a través del Back4App CLI:
Luego configura y despliega:
Desde tu código de Android (Kotlin) a través del SDK de Parse:
También puedes llamarlo a través de REST o GraphQL de manera similar.
Back4App aprovecha la Clase Parse User para la autenticación. Parse maneja el hashing seguro de contraseñas, tokens de sesión y más de forma predeterminada.
En Kotlin, puedes crear un nuevo usuario:
Iniciar sesión con un usuario existente:
Los inicios de sesión sociales como Google, Facebook y Apple también se pueden integrar. Consulta Documentación de Inicio de Sesión Social para más detalles.
Parse administra automáticamente los tokens de sesión. Puedes acceder al usuario actual:
Y cerrar sesión:
Parse incluye la ParseFile clase para manejar las subidas de archivos:
Puedes controlar quién puede subir o descargar archivos ajustando ACLs y CLPs o utilizando configuraciones específicas de archivos en la configuración del servidor parse.
- Habilitar la verificación de correo electrónico en la configuración de tu panel de Back4App.
- Configura tu dirección de envío, plantillas de correo electrónico o dominio personalizado si lo deseas.
- Usa ParseUser.requestPasswordResetInBackground(email, callback) para activar un flujo de restablecimiento de contraseña en tu aplicación.
Cloud Jobs te permite automatizar tareas rutinarias como limpiar datos o enviar notificaciones periódicas.
Programa la tarea en tu panel de Back4App bajo Configuración del Servidor > Tareas en Segundo Plano.
Webhooks permiten que tu aplicación Back4App envíe solicitudes HTTP a un servicio externo cada vez que ocurren ciertos eventos.
- Agrega un Webhook en tu Panel de Control de Back4App bajo Más > Webhooks.
- Configura los disparadores (por ejemplo, después de guardar un nuevo objeto).
- Agrega un endpoint de URL (como un webhook de Slack o Stripe).
![Agregando un Webhook Agregando un Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
La Aplicación de Administración de Back4App es una interfaz web amigable para usuarios no técnicos para gestionar datos.
- Habilítalo bajo Panel de Control de la Aplicación > Más > Aplicación de Administración.
- Crea tu primer usuario administrador.
- Elige un subdominio para acceder al panel de administración.
- Inicia sesión para ver, editar o eliminar registros de tu base de datos fácilmente.
![Habilitar Aplicación de Administración Habilitar Aplicación de Administración](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Al seguir este tutorial completo, has:
- Creado un backend seguro para una aplicación Android en Back4App.
- Configurado una base de datos con esquemas de clase, tipos de datos y relaciones.
- Integrado consultas en tiempo real (Consultas en Vivo) para actualizaciones de datos inmediatas.
- Aplicado medidas de seguridad utilizando ACLs y CLPs para proteger y gestionar el acceso a los datos.
- Implementado Cloud Code funciones para ejecutar lógica de negocio personalizada en el lado del servidor.
- Configurado la autenticación de usuarios con soporte para verificación de correo electrónico y restablecimiento de contraseñas.
- Gestionado cargas de archivos y recuperación, con controles de seguridad de archivos opcionales.
- Programado Cloud Jobs para tareas automatizadas en segundo plano.
- Usado Webhooks para integrarse con servicios externos.
- Explorado el Panel de Administración de Back4App para la gestión de datos.
Con un sólido front end de Android (Kotlin) y un robusto backend de Back4App, ahora estás bien equipado para desarrollar aplicaciones ricas en características, escalables y seguras. Continúa explorando funcionalidades más avanzadas, integra tu lógica de negocio y aprovecha el poder de Back4App para ahorrarte innumerables horas en la administración de servidores y bases de datos. ¡Feliz codificación!
- Construir una aplicación de Android lista para producción ampliando este backend para manejar modelos de datos más complejos, estrategias de caché y optimizaciones de rendimiento.
- Integrar características avanzadas como flujos de autenticación especializados, control de acceso basado en roles o APIs externas (como pasarelas de pago).
- Consulta la documentación oficial de Back4app para profundizar en seguridad avanzada, ajuste de rendimiento y análisis de registros.
- Explora otros tutoriales sobre aplicaciones de chat en tiempo real, paneles de IoT o servicios basados en ubicación. Puedes combinar las técnicas aprendidas aquí con APIs de terceros para crear aplicaciones complejas del mundo real.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)