Iniciadores Rápidos

¿Cómo construir un backend para Ruby?

35min

Introducción

En este tutorial, descubrirás cómo construir un backend para Ruby utilizando Back4App.

Recorreremos las 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 (Consultas en Vivo).

Al aprovechar el lenguaje de programación Ruby y Back4App, obtienes un backend seguro, escalable y robusto que se integra fácilmente con tu ecosistema de desarrollo de software.

Este enfoque ahorra tiempo y esfuerzo al utilizar una plataforma web de código abierto construida sobre Parse. Verás cómo acelerar los proyectos de desarrollo con principios de desarrollo rápido.

A lo largo del camino, aprenderás a utilizar características de seguridad avanzadas, programar tareas con Cloud Jobs y configurar webhooks para integraciones externas.

Al final, estarás listo para crear una estructura de marco de aplicación web y expandirla para aplicaciones de producción.

Podrás:

  1. Integrar Ruby con Back4App para modelos de datos, lógica orientada a objetos y datos en tiempo real.
  2. Aprovechar las mejores prácticas del proceso de desarrollo para el desarrollo de aplicaciones en un estilo de modelo vista controlador (MVC) o cualquier otra arquitectura que prefieras.
  3. Mejorar tu papel como desarrollador backend manejando la autenticación segura de usuarios, disparadores de Cloud Code y más.
  4. Refinar aún más tus aplicaciones web para satisfacer las necesidades del mundo real utilizando las características flexibles de Back4App.

Requisitos previos

  • Una cuenta de Back4app y un nuevo proyecto de Back4app Comenzando con Back4app. Regístrate gratis si no tienes una cuenta.
  • Un entorno local de Ruby Deberías tener Ruby instalado. Típicamente, se recomienda Ruby 2.6 o superior.
  • Familiaridad con el lenguaje de programación Ruby Conocimientos básicos de la sintaxis de Ruby, conceptos orientados a objetos y uso común de lenguajes de programación.
  • Bundler (opcional pero recomendado) Bundler ayuda a gestionar gemas para tu marco de aplicación web o proyectos de desarrollo. Documentación oficial de Bundler.

Asegúrate de tener todos estos requisitos previos en su lugar antes de comenzar. Tener tu proyecto de Back4App creado y tu entorno de Ruby listo proporcionará una experiencia de tutorial fluida.

Paso 1 – Crear un nuevo proyecto en Back4App y conectar

  1. Por qué este paso es importante Un nuevo proyecto de Back4App es la base para tu desarrollo de aplicaciones. Aloja tu base de datos, gestiona la autenticación de usuarios y proporciona el entorno para ejecutar Cloud Code.
  2. Crear un nuevo proyecto
    • Inicia sesión en Back4App.
    • Haz clic en Nueva App en tu panel de Back4App.
    • Dale un nombre a tu app (por ejemplo, “Ruby-Backend-Tutorial”).
  3. Instalar Parse SDK y conectar a Back4App El Parse SDK para Ruby te ayuda a interactuar con el backend de Back4App. Puedes instalarlo a través de gem:

Paso 2 – Configuración de la base de datos

1. Creando un modelo de datos

En Back4App, una clase es como una tabla de base de datos. Por ejemplo, puedes crear una clase “Todo” para almacenar tareas. Puedes crear clases sobre la marcha desde Ruby o definirlas en el panel para un control más detallado.

2. Creando un modelo de datos utilizando el agente de IA

  1. Abre el agente de IA en tu panel de la app.
  2. Describe tu modelo de datos en lenguaje sencillo (por ejemplo, “Una app de Todo con campos de título y isCompleted”).
  3. Deja que el agente de IA cree tu esquema automáticamente.
Document image


3. Lectura y escritura de datos usando Ruby (Parse SDK)

A continuación se muestra un ejemplo simple de cómo crear un nuevo registro en una clase “Todo” usando el SDK de Ruby:

Ruby


4. Lectura y escritura de datos usando REST API

También puedes crear y recuperar registros usando la interfaz REST:

Bash


5. Lectura y Escritura de Datos Usando la API de GraphQL

Back4App ofrece un punto final de GraphQL para aplicaciones web:

GraphQL


6. Trabajando con Consultas en Vivo (Opcional)

Habilita Consultas en Vivo en el panel de control de Back4App (Configuraciones del Servidor) y suscríbete desde tu script de Ruby si tu entorno soporta conexiones WebSocket. También puedes usarlas para actualizaciones en tiempo real en un marco de aplicación web que soporte concurrencia.

Paso 3 – Aplicando Seguridad con ACLs y CLPs

1. Resumen

Las ACLs (Listas de Control de Acceso) y CLPs (Permisos a Nivel de Clase) protegen tus datos de maneras orientadas a objetos. Las ACLs te permiten decidir quién puede leer o escribir cada registro. Los CLPs te permiten gestionar permisos para toda una clase.

Document image


2. Configurando Permisos a Nivel de Clase (CLPs) y ACLs

Ve a la Base de Datos de tu aplicación y selecciona tu clase, como “Todo.” Configura los CLPs de tu clase en “Seguridad” o “Permisos a Nivel de Clase.” Para establecer ACLs en un registro:

Ruby


Esto asegura que solo el propietario pueda leer/escribir esa tarea en particular.

Paso 4 – Escribiendo Funciones de Cloud Code

1. Por qué Cloud Code

Cloud Code ayuda a incrustar la lógica de negocio y las validaciones directamente en el servidor. Es ideal para garantizar la integridad de los datos y realizar tareas no expuestas a los clientes.

2. Función de Ejemplo

En el main.js de tu proyecto (o similar) en Back4App, puedes definir una Función de Cloud:

JS


Nota: Aunque nuestra aplicación principal utiliza Ruby, Cloud Code en Parse se basa en JavaScript. Así es como incrustas la lógica del lado del servidor en Back4App.

3. Despliegue

  • Back4App CLI:
  • Back4App Dashboard: Copia/pega tu función en Cloud Code > Funciones y haz clic en Desplegar.

4. Módulos NPM

Puedes instalar módulos npm (por ejemplo, axios) para tu entorno de Cloud Code. Por ejemplo:

Bash


En tu main.js, requiérelo y haz llamadas a API externas según sea necesario.

Paso 5 – Configuración de la Autenticación

1. Configuración del Panel

Habilita la autenticación de usuarios en la Configuración de la App. Back4App utiliza Parse.User para la gestión de usuarios.

2. Registrarse / Iniciar Sesión con Ruby

Ruby


3. Inicio de Sesión Social

Para integrar inicios de sesión sociales (Facebook, Google, Apple), consulta la Documentación de Inicio de Sesión Social. Los detalles de implementación varían para cada proveedor.

Paso 6 – Manejo del Almacenamiento de Archivos

1. Configuración del Almacenamiento de Archivos

Back4App gestiona las cargas de archivos a través del Parse::File objeto. En Ruby:

Ruby


2. Ejemplo

Los usuarios pueden subir imágenes, documentos u otros archivos. Recupera la URL para mostrarla en tu frontend u otros servicios.

3. Consideraciones de Seguridad

Configura tu aplicación para restringir las cargas de archivos a usuarios autenticados si es necesario.

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

1. Por Qué Es Importante

La verificación de correo electrónico asegura direcciones de correo válidas para nuevas cuentas. El restablecimiento de contraseña permite a tus usuarios recuperar sus cuentas de manera segura.

2. Configuración del Panel de Control de Back4App

  • Habilitar Verificación de Correo Electrónico.
  • Configura plantillas personalizadas para la verificación y el restablecimiento de contraseña.

3. Ejemplo de Código

Desde Ruby, puedes solicitar un restablecimiento de contraseña:

Bash


Esto envía un enlace de restablecimiento de contraseña al correo electrónico del usuario.

Paso 8 – Programación de Tareas con Cloud Jobs

1. Qué Hacen los Cloud Jobs

Los trabajos en la nube ejecutan tareas periódicas como limpiar datos antiguos o enviar correos electrónicos de resumen.

2. Ejemplo de Trabajo

JS


Programarlo bajo Configuraciones de la Aplicación > Configuraciones del Servidor > Trabajos en Segundo Plano en tu panel de Back4App.

Paso 9 – Integrando Webhooks

1. Definición

Los webhooks te permiten enviar solicitudes HTTP a servicios externos cada vez que ocurren ciertos eventos en Back4App. Esto es excelente para vincular a servicios de terceros o activar tareas en otros lenguajes de programación.

2. Configuración

Ve a tu panel de Back4App de la aplicación > Más > WebHooks, y agrega un nuevo Webhook con la URL de tu servicio externo.

3. Ejemplo

Envía datos a Stripe o Slack cada vez que se crea un nuevo “Todo”. Alternativamente, puedes definir disparadores en Cloud Code y hacer solicitudes HTTP dentro de esos disparadores.

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

1. Dónde Encontrarlo

En el panel de control de tu aplicación, haz clic en Más > Aplicación de administración, luego habilítalo.

2. Características

  • Interfaz gráfica para la gestión de datos sin código.
  • Herramientas para analizar registros, programar trabajos en segundo plano y más.
  • Control de acceso basado en roles, permitiéndote proporcionar a los usuarios no técnicos una forma segura de gestionar contenido.
Habilitar Aplicación de Administración
Habilitar Aplicación de Administración


Conclusión

Has construido un backend seguro y escalable para tu aplicación Ruby en Back4App, utilizando el lenguaje de programación Ruby para conectarte con la API de Parse. Tu proceso de desarrollo ahora incluye:

  • Una base de datos con características de seguridad avanzadas (ACLs, CLPs).
  • Actualizaciones de datos en tiempo real a través de Consultas en Vivo.
  • Disparadores de Código en la Nube para lógica de negocio personalizada.
  • Autenticación de usuarios y manejo de archivos.
  • Tareas programadas con Trabajos en la Nube y Webhooks para servicios externos.
  • Un Panel de Administración fácil de usar para la gestión de datos.

Con esta base, puedes extender tus aplicaciones web u otros proyectos de lenguajes de programación para satisfacer los requisitos del mundo real.

Ya seas un desarrollador backend experimentado o estés comenzando con Ruby, Back4App proporciona una plataforma orientada a objetos y fácil de usar para un desarrollo rápido.

Siéntete libre de integrar APIs o características adicionales, y explora más personalizaciones para alinearte con patrones de modelo vista controlador (MVC) u otros estilos arquitectónicos.

Próximos Pasos

  • Refina tu entorno de producción añadiendo caché avanzado, acceso basado en roles, o optimizaciones de rendimiento.
  • Agrega relaciones más complejas entre clases de datos para potenciar casos de uso del mundo real.
  • Explora la Documentación oficial de Back4App para seguridad, información sobre rendimiento y análisis.
  • Experimenta con otros frameworks web de código abierto para expandir las características de tu aplicación.

¡Disfruta construyendo aplicaciones web más robustas y ricas en características con Ruby y Back4App!