¿Cómo construir un backend para Ruby?
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:
- Integrar Ruby con Back4App para modelos de datos, lógica orientada a objetos y datos en tiempo real.
- 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.
- Mejorar tu papel como desarrollador backend manejando la autenticación segura de usuarios, disparadores de Cloud Code y más.
- Refinar aún más tus aplicaciones web para satisfacer las necesidades del mundo real utilizando las características flexibles de Back4App.
- 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.
- 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.
- 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”).
- 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:
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.
- Abre el agente de IA en tu panel de la app.
- Describe tu modelo de datos en lenguaje sencillo (por ejemplo, “Una app de Todo con campos de título y isCompleted”).
- Deja que el agente de IA cree tu esquema automáticamente.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
A continuación se muestra un ejemplo simple de cómo crear un nuevo registro en una clase “Todo” usando el SDK de Ruby:
También puedes crear y recuperar registros usando la interfaz REST:
Back4App ofrece un punto final de GraphQL para aplicaciones web:
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.
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
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:
Esto asegura que solo el propietario pueda leer/escribir esa tarea en particular.
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.
En el main.js de tu proyecto (o similar) en Back4App, puedes definir una Función de Cloud:
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.
- Back4App CLI:
- Back4App Dashboard: Copia/pega tu función en Cloud Code > Funciones y haz clic en Desplegar.
Puedes instalar módulos npm (por ejemplo, axios) para tu entorno de Cloud Code. Por ejemplo:
En tu main.js, requiérelo y haz llamadas a API externas según sea necesario.
Habilita la autenticación de usuarios en la Configuración de la App. Back4App utiliza Parse.User para la gestión de usuarios.
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.
Back4App gestiona las cargas de archivos a través del Parse::File objeto. En Ruby:
Los usuarios pueden subir imágenes, documentos u otros archivos. Recupera la URL para mostrarla en tu frontend u otros servicios.
Configura tu aplicación para restringir las cargas de archivos a usuarios autenticados si es necesario.
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.
- Habilitar Verificación de Correo Electrónico.
- Configura plantillas personalizadas para la verificación y el restablecimiento de contraseña.
Desde Ruby, puedes solicitar un restablecimiento de contraseña:
Esto envía un enlace de restablecimiento de contraseña al correo electrónico del usuario.
Los trabajos en la nube ejecutan tareas periódicas como limpiar datos antiguos o enviar correos electrónicos de resumen.
Programarlo bajo Configuraciones de la Aplicación > Configuraciones del Servidor > Trabajos en Segundo Plano en tu panel de Back4App.
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.
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.
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.
En el panel de control de tu aplicación, haz clic en Más > Aplicación de administración, luego habilítalo.
- 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](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
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.
- 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!
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)