Iniciadores Rápidos

¿Cómo construir un backend para Dart?

25min

Introducción

En este tutorial, aprenderás cómo construir un backend para Dart utilizando Back4app.

Nos centraremos en integrar 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 (Live Queries)—en un proyecto basado en Dart.

Dado que Dart es un lenguaje de programación versátil, puedes usarlo para varios proyectos de backend, desde servidores web simples hasta aplicaciones a gran escala.

Al aprovechar el entorno intuitivo de Back4app, podrás configurar rápidamente un marco de backend robusto y seguro sin un mantenimiento pesado del servidor.

Verás cómo características como ACLs, CLPs, programación de tareas en segundo plano y creación de lógica personalizada con Cloud Code optimizan tus operaciones del lado del servidor.

Después de completar este tutorial, estarás listo para escalar tu backend de Dart o agregar integraciones más avanzadas.

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.
  • Entorno de desarrollo básico de Dart Puedes configurarlo instalando el SDK de Dart y cualquier editor de tu elección. Para más información, consulta Obtener el SDK de Dart.
  • Dart 2.0 o superior Asegúrate de que tu entorno esté actualizado, para que puedas aprovechar las características recientes de Dart y las bibliotecas del lado del servidor como shelf.
  • Familiaridad con Dart y conceptos de backend Si eres nuevo en Dart, revisa la Documentación oficial de Dart. para construir fluidez básica.

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

Paso 1 – Crear un nuevo proyecto en Back4App y conectar

  1. ¿Por qué crear un nuevo proyecto de Back4app? Un nuevo proyecto de Back4app forma la base de tu backend, gestionando tu base de datos, seguridad, APIs, almacenamiento de archivos y más. Te proporciona una estructura organizada para construir tu lógica del lado del servidor basada en Dart.
  2. Creando un proyecto de Back4app
    • Inicia sesión en tu cuenta de Back4app.
    • Haz clic en “Nueva App” en el panel de control de Back4app.
    • Dale a tu app un nombre descriptivo (por ejemplo, “Dart-Backend-Tutorial”).
Document image


Una vez creado, su proyecto aparecerá en el panel de control de Back4app. Este proyecto es donde configurará todos los ajustes de backend para su aplicación Dart.

  1. Instalar el SDK de Parse y Conectar Aunque Dart no tiene un SDK de Parse oficial, hay bibliotecas mantenidas por la comunidad como parse_server_sdk que permiten la integración con Back4app. Puede agregarlo incluyendo la siguiente dependencia en el pubspec.yaml:
YAML


Luego ejecuta:

Bash


Inicializa Parse en tu código Dart (por ejemplo, en un main.dart archivo):

Dart


Recupera tu ID de Aplicación, Clave de JavaScript, y URL del Servidor Parse desde el panel de control de Back4app (bajo “Configuración de la App” > “Seguridad y Claves”). Con este paso, tu aplicación Dart puede interactuar de manera segura con tu marco de backend de Back4app.

Paso 2 – Configuración de la Base de Datos

  1. Creando un Modelo de Datos En el panel de control de Back4app, navega a la sección “Base de Datos” y crea una nueva clase (por ejemplo, “Todo”). Agrega columnas para tus campos, como título (String) y isCompleted (Boolean).
  2. Creando un Modelo de Datos Usando el Agente de IA
    • Abre el Agente de IA en tu Panel de Control de la App.
    • Describe tu esquema deseado (por ejemplo, “Por favor, crea una clase ToDo con campos de título y isCompleted.”).
    • Deja que el Agente de IA finalice el esquema por ti.
Agente de IA para la Creación de Esquemas
Agente de IA para la Creación de Esquemas

  1. Lectura y escritura de datos usando SDK Con la biblioteca parse_server_sdk, puedes guardar y consultar datos desde tu código Dart. Por ejemplo:
Dart

  1. Lectura y escritura de datos usando REST API
Bash

  1. Lectura y escritura de datos usando GraphQL API
GraphQL

  1. Trabajando con consultas en vivo (opcional) Para habilitar actualizaciones en tiempo real, activa las Consultas en Vivo en tu panel de Back4app (Configuraciones del Servidor). Luego puedes suscribirte desde Dart, aunque es posible que necesites una biblioteca especializada. La biblioteca parse_server_sdk puede tener soporte parcial para consultas en vivo; consulta su documentación para más detalles.

Paso 3 – Aplicando seguridad con ACLs y CLPs

  1. Descripción general
    • ACLs (Listas de Control de Acceso): Restringir lectura/escritura a nivel de objeto.
    • CLPs (Permisos a Nivel de Clase): Restringir lectura/escritura a nivel de clase.
  2. Paso a paso
    • Permisos a Nivel de Clase: En el panel de control de Back4app, abre la sección de Base de Datos, elige una clase y configura los CLPs en “Seguridad.”
    • ACLs en Código (usando el parse_server_sdk):
Dart


Paso 4 – Escribiendo Funciones de Cloud Code

  1. Por qué Cloud Code Cloud Code es esencial para crear lógica de negocio personalizada en el lado del servidor. Te ahorra de gestionar tu propia infraestructura y mantiene tu código seguro y escalable.
  2. Ejemplo de Función y Disparadores En tu main.js (para Cloud Code):
JS

  1. Despliegue
    • Usando el CLI de Back4app:
    • Usando el Panel de Control:
      1. Ve a Cloud Code > Funciones.
      2. Pega tu código en main.js.
      3. Haz clic en Desplegar.
  2. NPM y Cloud Code Si necesitas módulos NPM adicionales para tu Cloud Code, especifícalos en el package.json. Esto te permite integrar APIs externas u operaciones avanzadas directamente desde tu código del lado del servidor.

Paso 5 – Configurando la Autenticación

  1. Habilitar la Autenticación de Usuarios En el panel de Back4app, puedes habilitar la verificación de correo electrónico o configurar inicios de sesión sociales. Por defecto, la clase Parse User almacena las contraseñas de forma segura.
  2. Ejemplos de Código (usando parse_server_sdk en Dart):
Dart

  1. Inicio de sesión social
    • Configura proveedores como Google, Apple o Facebook en el panel de control de Back4app.
    • Implementa el plugin correspondiente de parse_server_sdk o un flujo de OAuth personalizado si está disponible.

Paso 6 – Manejo del Almacenamiento de Archivos

  1. Configurando el Almacenamiento de Archivos Back4app aloja automáticamente los archivos que subes a través de las APIs de Parse. Puedes almacenar imágenes, documentos o cualquier tipo de archivo.
  2. Ejemplo (Dart)
  3. Consideraciones de Seguridad Puedes controlar quién puede subir o recuperar archivos ajustando tus CLPs o roles de usuario en el panel de control de Back4app.

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

  1. Descripción General La verificación de correo electrónico confirma que los usuarios son propietarios de los correos electrónicos con los que se registran, mientras que los enlaces de restablecimiento de contraseña proporcionan una forma segura de gestionar credenciales perdidas.
  2. Configuración del Panel de Control de Back4App
    • Ir a Configuración de la Aplicación > Correo Electrónico.
    • Habilitar Verificar Correos Electrónicos de Usuarios y Restablecimiento de Contraseña.
    • Personaliza tus plantillas de correo electrónico según sea necesario.
  3. Implementación Cuando los usuarios se registran utilizando un correo electrónico válido, reciben un enlace de verificación de correo electrónico. Para restablecimientos de contraseña, llama al método requestPasswordReset de ParseUser (si está disponible en el parse_server_sdk) o al punto final REST.

Paso 8 – Programación de Tareas con Trabajos en la Nube

  1. Qué Hacen los Trabajos en la Nube Los Trabajos en la Nube te permiten programar tareas a intervalos establecidos, como limpiar registros antiguos o enviar informes periódicos. Operan en segundo plano, independientemente de las acciones desencadenadas por el usuario.
  2. Ejemplo En main.js, añade:
JS

  1. Programación
    • Ir a Configuración de la aplicación > Configuración del servidor > Trabajos en segundo plano.
    • Programar cleanupOldTodos para que se ejecute diariamente o en un intervalo que elijas.

Paso 9 – Integrando Webhooks

  1. Definición Los webhooks permiten que tu aplicación Back4app realice solicitudes HTTP a un servicio externo en ciertos eventos. Esto es útil para integrarse con servicios de terceros como Slack o Stripe.
  2. Configuración
    • Ir a Más > WebHooks en tu panel de Back4app.
    • Hacer clic en Agregar Webhook y proporcionar un endpoint (por ejemplo, https://your-external-service.com/webhook-endpoint).
    • Especificar el evento desencadenante (por ejemplo, después de que se crea un Todo).
Añadiendo un Webhook
Añadiendo un Webhook

  1. Ejemplo Si tienes una URL de Webhook de Slack, puedes configurarla para recibir una notificación cada vez que se inserte un nuevo Todo. Esta conexión fluida entre tu backend de Dart y herramientas externas aumenta la automatización.

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

  1. Dónde Encontrarlo En tu consola de Back4app, abre Más > Aplicación de Administración y habilita el panel.
  2. Características
    • Gestiona los registros de la base de datos fácilmente.
    • Revisa los registros, trabajos en segundo plano y análisis.
    • Controla el acceso y los roles de los usuarios.
Habilitar la aplicación de administrador
Habilitar la aplicación de administrador


Conclusión

Al seguir estos pasos, has:

  • Construido un backend seguro para Dart en Back4app.
  • Gestionado tu base de datos a través de clases y campos de Parse.
  • Creado código en la nube personalizado para manejar la lógica del lado del servidor.
  • Asegurado los datos utilizando ACLs, CLPs y autenticación de usuarios.
  • Programado tareas en segundo plano con Cloud Jobs.
  • Integrado servicios externos utilizando Webhooks.
  • Explorado el Panel de Administración para una fácil gestión de datos.

Esta sólida base te prepara para implementar proyectos de Dart de manera eficiente, ya sea que estés construyendo servidores web a gran escala, microservicios o aplicaciones especializadas. Desde aquí, puedes escalar tu marco de backend, agregar lógica más compleja o integrar características avanzadas como notificaciones push o análisis avanzados.

Próximos Pasos

  • Explora la preparación para producción: Utiliza estrategias de caché, maneja la concurrencia y optimiza el rendimiento para alto tráfico.
  • Integra características avanzadas: Como control de acceso basado en roles, más inicios de sesión sociales o herramientas de colaboración en tiempo real.
  • Consulta la documentación oficial de Back4app para obtener información más profunda sobre registros, seguridad y ajuste de rendimiento.
  • Experimenta con paquetes adicionales como el paquete shelf para crear servidores web personalizados junto a tu capa de datos basada en Parse, aprovechando las capacidades de Dart como un lenguaje de programación flexible.

Con este conocimiento de cómo construir un backend para Dart, tienes una forma poderosa de manejar datos, asegurar tus procesos del lado del servidor y automatizar los flujos de trabajo de tu aplicación, todo sin la necesidad de una infraestructura significativa.