Más

Construyendo una aplicación Flutter de arrastrar y soltar con widgets arrastrables y Back4App

22min

Introducción

Las interfaces interactivas de arrastrar y soltar mejoran la experiencia del usuario al permitir que los usuarios manipulen los elementos de la interfaz de usuario de manera intuitiva. Flutter proporciona los Draggable y DragTarget widgets para crear tales interacciones. En este tutorial, aprenderás a construir una aplicación Flutter que utiliza Draggable widgets para mover elementos entre listas, con persistencia de datos utilizando Back4App—un backend como servicio impulsado por Parse Server.

Al final de este tutorial, tendrás una aplicación Flutter funcional donde los usuarios pueden arrastrar elementos de una lista a otra, y los cambios se almacenarán y recuperarán de Back4App. Este tutorial es adecuado para desarrolladores de Flutter de todos los niveles de experiencia.

Requisitos previos

Para completar este tutorial, necesitarás:

  • Flutter SDK instalado en tu máquina. Sigue la guía de instalación oficial de Flutter para tu sistema operativo.
  • Conocimientos básicos de Flutter y Dart. Si eres nuevo en Flutter, revisa la documentación de Flutter para familiarizarte con los conceptos básicos.
  • Un IDE o editor de texto como Visual Studio Code o Android Studio.
  • Una cuenta de Back4App. Regístrate para obtener una cuenta gratuita en Back4App.
  • Parse Server SDK para Flutter agregado a tu proyecto. Aprende cómo configurarlo siguiendo la Guía de SDK de Flutter de Back4App.

Descripción general

Construiremos una aplicación de gestión de tareas donde las tareas se pueden arrastrar de una lista de "Por Hacer" a una lista de "Completadas" y viceversa. La aplicación:

  • Usa Draggable widgets para habilitar el arrastre de tareas.
  • Usa DragTarget widgets para definir zonas de caída.
  • Almacena y recupera tareas de Back4App para persistir datos.

Paso 1 – Configuración del Proyecto Flutter

1.1. Crea un Nuevo Proyecto Flutter

Abre tu terminal y ejecuta:

Bash


Navega al directorio del proyecto:

Bash


1.2. Agregar Dependencias

Abre pubspec.yaml y agrega las siguientes dependencias:

YAML


Ejecuta flutter pub get para instalar los paquetes.

Paso 2 – Configurando Back4App

2.1. Crear una Nueva Aplicación en Back4App

  1. Inicia sesión en tu panel de Back4App.
  2. Haz clic en "Crear nueva App".
  3. Ingresa un nombre para tu aplicación, por ejemplo, "DragDropApp", y haz clic en "Crear".

2.2. Configurar el modelo de datos

  1. En el panel de control de tu aplicación, navega a la "Base de datos" sección.
  2. Haz clic en "Crear una clase".
  3. En el modal:
    • Selecciona "Personalizado".
    • Ingresa "Tarea" como el nombre de la clase.
    • Haz clic en "Crear clase".

2.3. Agregar columnas a la clase

  1. En la "Tarea" clase, haz clic en "+" para agregar nuevas columnas.
  2. Agrega las siguientes columnas:
    • título: Tipo Cadena
    • estado: Tipo Cadena
  3. Agrega algunos datos de ejemplo a la "Tarea" clase. Por ejemplo:

2.4. Obtener credenciales de la aplicación

  1. Navega a Configuración de la aplicación > Seguridad y claves.
  2. Anota tu ID de aplicación y Clave de cliente.

Paso 3 – Inicializando Parse en tu aplicación Flutter

Abre lib/main.dart y modifícalo de la siguiente manera:

Dart

  • Reemplaza 'YOUR_APPLICATION_ID' y 'YOUR_CLIENT_KEY' con tus credenciales reales de Back4App.

Paso 4 – Creando el Modelo de Tarea

Crea un nuevo directorio llamado models bajo lib y agrega un archivo llamado task.dart:

Dart


Paso 5 – Obteniendo Tareas de Back4App

Crea un nuevo directorio llamado services bajo lib y agrega un archivo llamado task_service.dart:

Dart


Paso 6 – Construyendo la interfaz de usuario con Draggable y DragTarget

Crea un nuevo directorio llamado screens bajo lib y agrega un archivo llamado home_page.dart:

Dart


Explicación

  • Página de inicio: La pantalla principal que muestra dos columnas—"Por hacer" y "Tareas completadas".
  • Columna de tareas: Un widget que muestra tareas y actúa como un Objetivo de arrastre para Tareas arrastrables.}]}]},{
  • Tarjeta de tarea: Un widget para mostrar información de tareas individuales.

Paso 7 – Ejecutando la aplicación

7.1. Ejecutar la aplicación

En tu terminal, ejecuta:

Bash


7.2. Probar la funcionalidad de arrastrar y soltar

  • Arrastra una tarea de la columna "Por Hacer" y suéltala en la columna "Completado".
  • El estado de la tarea debería actualizarse y debería aparecer bajo "Completado".
  • El cambio persiste en Back4App; si reinicias la aplicación, la tarea permanece en su nuevo estado.

Conclusión

En este tutorial, aprendiste cómo implementar la funcionalidad de arrastrar y soltar en una aplicación Flutter utilizando Draggable y DragTarget widgets. Integraste Back4App para almacenar y recuperar datos de tareas, permitiendo la persistencia de datos a través de sesiones. Esta aplicación interactiva demuestra cómo mejorar la experiencia del usuario con elementos de interfaz intuitivos y un backend escalable.

Conclusiones clave

  • Widgets Arrastrables: Permitir a los usuarios arrastrar elementos de la interfaz.
  • Widgets DragTarget: Definir zonas de caída para elementos arrastrables.
  • Integración con Back4App: Proporciona un backend para almacenar y gestionar datos.

Próximos pasos

  • Agregar Autenticación: Implementar autenticación de usuarios para tener listas de tareas personalizadas.
  • Mejorar UI/UX: Agregar animaciones, íconos personalizados y diseños mejorados.
  • Actualizaciones en Tiempo Real: Usar las Consultas en Vivo de Back4App para actualizar tareas en tiempo real en múltiples dispositivos.
  • Manejo de Errores: Implementar manejo de errores para problemas de red y conflictos de datos.

Recursos Adicionales

¡Feliz codificación!