Iniciadores Rápidos

¿Cómo construir un backend para Ruby on Rails?

35min

Introducción

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

Exploraremos los pasos clave para integrar tu aplicación Rails con las características esenciales de Back4App, como interacciones con la base de datos, funciones de Cloud Code, APIs REST y GraphQL, autenticación de usuarios y consultas en tiempo real (Consultas en Vivo), todo funcionando del lado del servidor.

Al aprovechar el lenguaje de programación Ruby, construirás una arquitectura robusta y escalable que se alinea con el patrón de controlador de vista MVC en Rails, permitiendo a los desarrolladores acelerar el desarrollo de aplicaciones web.

También descubrirás cómo Back4App reduce drásticamente el tiempo y el esfuerzo al simplificar la gestión del servidor y la base de datos.

Estas características automatizadas pueden ahorrarte de configurar manualmente un servidor web o lidiar con infraestructuras complejas.

Al final, poseerás una estructura flexible y segura, lista para producción o futuras expansiones, como integraciones adicionales y lógica personalizada avanzada.

Ya sea que desees servir páginas web o potenciar aplicaciones web impulsadas por datos, Rails y Back4App ofrecen una sinergia perfecta para crear soluciones modernas en lenguajes de programación populares.

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 de Ruby on Rails Asegúrate de tener Ruby instalado (preferiblemente la versión 2.7 o superior) y la gema Rails (Rails 6 o superior). Instalar Rails
  • Cliente Ruby de Parse Si planeas usar el SDK de Parse directamente, puedes instalar la parse-ruby-client gema para manejar operaciones de datos con Back4App.
  • Familiaridad con Rails MVC Si eres nuevo en Ruby on Rails, revisa los guías oficiales de Rails o un tutorial para principiantes para entender la arquitectura MVC del controlador de vista de Rails antes de comenzar.

Asegúrate de que estos requisitos previos estén en su lugar antes de comenzar. Tener tu proyecto de Back4App configurado, además de tu aplicación Rails lista, garantiza una experiencia de tutorial fluida.

Paso 1 – Crear un nuevo proyecto en Back4App y conectar

Crear un nuevo proyecto

El primer paso para configurar un backend del lado del servidor para tu aplicación Rails es crear un nuevo proyecto en Back4App. Si no lo has hecho:

  1. Inicie sesión en su cuenta de Back4app.
  2. Haga clic en el botón “Nueva Aplicación” en su panel de Back4App.
  3. Dé un nombre a su aplicación (por ejemplo, “Rails-Backend-Tutorial”).
Document image


Una vez que se crea el proyecto, será visible en su panel de Back4App. Este nuevo proyecto forma el núcleo de todas las configuraciones de backend en este tutorial.

Conectar el SDK de Parse (Opcional: parse-ruby-client)

Para agilizar interacciones con la base de datos y consultas en tiempo real, Back4App utiliza la plataforma Parse. Si desea integrar su servidor Rails con Parse directamente, puede instalar la gema parse-ruby-client. De lo contrario, puede confiar en los puntos finales REST o GraphQL estándar.

Recupere sus Claves de Parse: En su panel de Back4App, vaya a “Configuraciones de la Aplicación” o “Seguridad y Claves” de su aplicación para encontrar su ID de Aplicación y Clave API REST. También obtendrá su URL del Servidor Parse (por ejemplo, https://parseapi.back4app.com).

Document image


Agrega la gema parse-ruby-client a tu Gemfile:

Ruby


Luego ejecuta:

Bash


Inicializa Parse en un inicializador, como config/initializers/parse.rb:

Ruby


En este punto, tu aplicación Rails es capaz de comunicarse con Back4App para almacenar y recuperar datos, orquestar lógica personalizada y más. Este enfoque integrado simplifica cómo tu aplicación Ruby on Rails maneja el backend.

Paso 2 – Configuración de la Base de Datos

Creando un Modelo de Datos

En muchas aplicaciones web, defines tu estructura de datos en Rails utilizando migraciones de ActiveRecord. Con Back4App, también tienes la opción de construir tu esquema directamente en el panel de control. Por ejemplo, si tienes un Todo modelo:

  1. Navega a “Base de Datos” en tu panel de control de Back4App.
  2. Crea una nueva clase llamada “Todo” y agrega columnas como título (String) y estáCompletado (Boolean).
Crear Nueva Clase
Crear Nueva Clase


Back4App soporta String, Número, Booleano, Fecha, Archivo, Puntero, Relación, Array, GeoPoint, y Polígono. Rails típicamente gestiona estos dentro de sus definiciones de modelo, pero también puedes permitir que Parse cree columnas automáticamente en el primer guardado (si usas el SDK de Parse o las APIs REST/GraphQL).

Crear Columna
Crear Columna


Creando un modelo de datos utilizando el agente de IA

El agente de IA de Back4App puede automatizar la creación de esquemas:

  1. Abre el agente de IA desde tu panel de control.
  2. Describe tu modelo de datos (por ejemplo, “Por favor, crea una nueva aplicación ToDo con un esquema de clase completo.”).
  3. Deja que el agente genere tu esquema.
Document image


Leyendo y escribiendo datos usando SDK

Si eliges integrar el parse-ruby-client, puedes almacenar un registro como este:

Ruby


Lectura y escritura de datos utilizando REST API

Alternativamente, puedes usar llamadas REST desde tu código de Rails (o cualquier cliente externo). Por ejemplo, para crear un Todo:

Bash


Lectura y escritura de datos utilizando GraphQL API

Back4App también ofrece GraphQL:

GraphQL


Trabajando con consultas en vivo (opcional)

Si deseas actualizaciones en tiempo real en tu aplicación Rails, puedes suscribirte a consultas en vivo desde un cliente de front-end o WebSocket. Habilita las consultas en vivo en la Configuración del servidor, luego conéctate a wss://YOUR_SUBDOMAIN.b4a.io para un flujo continuo de cambios. Esto es útil para aplicaciones web dinámicas que necesitan actualizaciones de datos inmediatas.

Paso 3 – Aplicando seguridad con ACLs y CLPs

Resumen breve

La seguridad es vital en el desarrollo de aplicaciones web. Back4App ofrece Listas de Control de Acceso (ACLs) y Permisos a Nivel de Clase (CLPs) para controlar la visibilidad de los datos tanto a nivel de objeto como de clase. Esto ayuda a garantizar que solo los usuarios autenticados o autorizados puedan leer/escribir datos sensibles.

Document image


Configurando permisos a nivel de clase

  1. Ve a la base de datos en tu panel de control de Back4App.
  2. Selecciona una clase (por ejemplo, “Todo”).
  3. Abre la pestaña de CLPs para configurar el acceso de lectura/escritura por roles, usuarios autenticados o el público.

Configurando ACLs

Puedes establecer un ACL en un objeto para que solo un usuario específico pueda leerlo o modificarlo. En Rails con parse-ruby-client, podría verse así:

Ruby


Paso 4 – Escribiendo Funciones de Cloud Code

Por qué Cloud Code

Cloud Code ejecuta JavaScript del lado del servidor, permitiendo a los desarrolladores agregar lógica personalizada, disparadores y validaciones sin gestionar su propio servidor web. Puede que desees manejar lógica adicional del servidor o realizar verificaciones antes de guardar datos.

Función de Ejemplo

A continuación se muestra un ejemplo en JavaScript. Mientras tu servidor Rails maneja la aplicación principal, aún puedes usar Cloud Code para procesar datos:

JS


Despliegue

Despliega a través de la CLI de Back4App o desde el Tablero de Back4App. Cloud Code es una forma conveniente de encapsular lógica que se comparte entre todos los clientes, independientemente de qué lenguajes de programación utilicen. Con soporte para módulos basados en node (NPM), puedes integrar paquetes externos sin problemas.

Paso 5 – Configurando la Autenticación

Habilitar la Autenticación de Usuarios

Back4App gestiona el registro de usuarios, inicios de sesión y sesiones con la clase de Usuario integrada de Parse. Puedes crear un usuario con una llamada REST o a través de cualquier SDK oficial.

Bash


Inicio de sesión social

Puedes integrar flujos de inicio de sesión de Facebook, Google o Apple. Cada proveedor tiene un enfoque ligeramente diferente, pero el principio principal es intercambiar tokens con Parse. Consulta la Documentación de inicio de sesión social para obtener detalles sobre cómo integrarlos en tu aplicación rails.

Paso 6 – Manejo del almacenamiento de archivos

Configurando el almacenamiento de archivos

Usar Parse para archivos es tan simple como subirlos a través de la API de Parse. Si estás utilizando el cliente parse-ruby:

Ruby


Ejemplo

Luego puedes adjuntar este archivo a un objeto:

Ruby

Document image


Paso 7 – Verificación de correo electrónico y restablecimiento de contraseña

  1. Habilitar la verificación de correo electrónico en tu panel de Back4App bajo Configuración de correo electrónico.
  2. Configurar el restablecimiento de contraseña personalizando la plantilla de correo electrónico y la configuración de dominio.
  3. Activar flujos de correo electrónico automáticamente después del registro del usuario o cuando un usuario solicita un restablecimiento de contraseña. Esto asegura una mejor seguridad y ayuda a confirmar la propiedad válida del correo electrónico.

Paso 8 – Programación de tareas con trabajos en la nube

Trabajos en la Nube

Si deseas automatizar tareas como limpiar datos o enviar resúmenes diarios, utiliza Trabajos en la Nube:

JS


Puedes programar tales trabajos en el Panel de Control de Back4App bajo Configuración del Servidor > Trabajos en Segundo Plano para que se ejecuten diariamente o en intervalos deseados.

Paso 9 – Integrando Webhooks

Los webhooks permiten que tu aplicación de Back4App envíe datos a una URL externa cada vez que ocurren ciertos eventos. Puedes reenviar datos de objetos nuevos o actualizados a otro sistema, como Stripe o Slack.

  1. Ve a Más > WebHooks en tu panel de Back4App.
  2. Agrega un nuevo webhook apuntando a tu URL externa (por ejemplo, una ruta en tu controlador de Rails).
  3. Especifica el evento que activa el webhook.
Añadiendo un Webhook
Añadiendo un Webhook


Si lo prefieres, también puedes activar un webhook desde Cloud Code haciendo una solicitud HTTP en una función beforeSave o afterSave.

WebHook BeforeSave
WebHook BeforeSave


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

La Aplicación de Administración de Back4App ofrece una forma fácil de usar para que equipos o clientes no técnicos realicen operaciones CRUD en tus datos de Back4App. Esta interfaz elimina la necesidad de cambios directos en el código o el uso del Panel de Control de Parse para tareas básicas.

Dónde Encontrarlo

Puedes activar la Aplicación de Administración desde tu panel de control yendo a Más > Aplicación de Administración y haciendo clic en Activar Aplicación de Administración.

Habilitar la aplicación de administrador
Habilitar la aplicación de administrador


Características

Una vez habilitado, puedes:

  • Crear y gestionar datos sin escribir consultas.
  • Monitorear registros, programar trabajos en segundo plano y manejar notificaciones push (si están habilitadas).
  • Proporcionar acceso basado en roles a los miembros del equipo para una edición más segura.
Document image


Conclusión

¡Felicidades! Has aprendido cómo construir un backend para Ruby on Rails usando Back4App. En este tutorial, has:

  • Configurado un proyecto de Rails para interactuar con Back4App a través de REST, GraphQL o el Cliente Ruby de Parse.
  • Configurado interacciones seguras con la base de datos utilizando esquemas de clase, ACLs, CLPs y consultas en vivo opcionales.
  • Integrado la autenticación de usuarios con verificación de correo electrónico y restablecimientos de contraseña.
  • Desplegado Cloud Code para lógica personalizada, disparadores y tareas programadas.
  • Gestionado cargas de archivos, aprovechado webhooks y explorado el Panel de Administración.

Al combinar la arquitectura MVC de Ruby on Rails con el robusto conjunto de características de Back4App, tu aplicación de Rails puede escalar sin problemas.

Ahorrarás un tiempo considerable en la gestión de la infraestructura, permitiéndote concentrarte en construir aplicaciones web con experiencias de usuario refinadas y lógica del lado del servidor confiable.

Próximos Pasos

  • Extiende tu aplicación de Rails añadiendo relaciones más complejas, estrategias de caché o integraciones avanzadas.
  • Incorpora APIs de terceros (como pasarelas de pago) y aprovecha Cloud Code para un desarrollo más profundo de aplicaciones web.
  • Explora la documentación oficial de Back4App para seguridad avanzada, ajuste de rendimiento, análisis de registros y más.
  • Experimenta con características en tiempo real para crear aplicaciones de chat o plataformas colaborativas—ideal para datos que cambian con frecuencia.

Con estos fundamentos en su lugar, puedes desarrollar, iterar y escalar rápidamente tu servidor Rails para aplicaciones web modernas. ¡Feliz codificación!