Créer une application Flutter glisser-déposer avec des widgets draggable et Back4App
Les interfaces interactives de glisser-déposer améliorent l'expérience utilisateur en permettant aux utilisateurs de manipuler les éléments de l'interface utilisateur de manière intuitive. Flutter fournit les Draggable et DragTarget widgets pour créer de telles interactions. Dans ce tutoriel, vous apprendrez à construire une application Flutter qui utilise les Draggable widgets pour déplacer des éléments entre des listes, avec une persistance des données utilisant Back4App—un backend en tant que service alimenté par Parse Server.
À la fin de ce tutoriel, vous aurez une application Flutter fonctionnelle où les utilisateurs peuvent faire glisser des éléments d'une liste à une autre, et les modifications seront stockées et récupérées depuis Back4App. Ce tutoriel est adapté aux développeurs Flutter de tous niveaux d'expérience.
Pour compléter ce tutoriel, vous aurez besoin de :
- Flutter SDK installé sur votre machine. Suivez le guide d'installation officiel de Flutter pour votre système d'exploitation.
- Connaissances de base en Flutter et Dart. Si vous êtes nouveau sur Flutter, consultez la documentation Flutter pour vous familiariser avec les bases.
- Un IDE ou éditeur de texte tel que Visual Studio Code ou Android Studio.
- Parse Server SDK pour Flutter ajouté à votre projet. Apprenez à le configurer en suivant le Guide SDK Flutter de Back4App.
Nous allons construire une application de gestion des tâches où les tâches peuvent être glissées d'une liste "À faire" à une liste "Terminée" et vice versa. L'application va :
- Utilisez Draggable widgets pour permettre le glissement des tâches.
- Utilisez DragTarget widgets pour définir les zones de dépôt.
- Stockez et récupérez les tâches depuis Back4App pour persister les données.
Ouvrez votre terminal et exécutez :
Naviguez vers le répertoire du projet :
Ouvrez pubspec.yaml et ajoutez les dépendances suivantes :
Exécutez flutter pub get pour installer les paquets.
- Cliquez sur "Créer une nouvelle application".
- Entrez un nom pour votre application, par exemple, "DragDropApp", et cliquez sur "Créer".
- Dans le tableau de bord de votre application, accédez à la "Base de données" section.
- Cliquez sur "Créer une classe".
- Dans la fenêtre modale :
- Sélectionnez "Personnalisé".
- Entrez "Tâche" comme nom de classe.
- Cliquez sur "Créer la classe".
- Dans la classe "Tâche" , cliquez sur "+" pour ajouter de nouvelles colonnes.
- Ajoutez les colonnes suivantes :
- titre: Type Chaîne
- statut: Type Chaîne
- Ajoutez quelques données d'exemple à la "Tâche" classe. Par exemple :
- Accédez à Paramètres de l'application > Sécurité et clés.
- Notez votre ID d'application et votre Clé client.
Ouvrez lib/main.dart et modifiez-le comme suit :
- Remplacez 'YOUR_APPLICATION_ID' et 'YOUR_CLIENT_KEY' par vos véritables identifiants Back4App.
Créez un nouveau répertoire appelé models sous lib et ajoutez un fichier nommé task.dart:
Créez un nouveau répertoire appelé services sous lib et ajoutez un fichier nommé task_service.dart:
Créez un nouveau répertoire appelé screens sous lib et ajoutez un fichier nommé home_page.dart:
- Page d'accueil: L'écran principal qui affiche deux colonnes—"À faire" et "Tâches terminées".
- Colonne de tâches: Un widget qui affiche les tâches et agit comme un Cible de glisser-déposer pour les Tâches glissables.
- Carte de tâche: Un widget pour afficher les informations sur une tâche individuelle.
Dans votre terminal, exécutez :
- Faites glisser une tâche de la colonne "À faire" et déposez-la dans la colonne "Terminé".
- Le statut de la tâche doit se mettre à jour et elle doit apparaître sous "Terminé".
- Le changement persiste dans Back4App ; si vous redémarrez l'application, la tâche reste dans son nouveau statut.
Dans ce tutoriel, vous avez appris à implémenter la fonctionnalité de glisser-déposer dans une application Flutter en utilisant Draggable et DragTarget widgets. Vous avez intégré Back4App pour stocker et récupérer les données des tâches, permettant ainsi la persistance des données entre les sessions. Cette application interactive démontre comment améliorer l'expérience utilisateur avec des éléments d'interface intuitive et un backend évolutif.
- Widgets Déplaçables: Permettre aux utilisateurs de faire glisser des éléments de l'interface utilisateur.
- Widgets Cibles de Glissement: Définir des zones de dépôt pour les éléments déplaçables.
- Intégration Back4App: Fournit un backend pour stocker et gérer des données.
- Ajouter une authentification: Mettre en œuvre l'authentification des utilisateurs pour avoir des listes de tâches personnalisées.
- Améliorer l'UI/UX: Ajouter des animations, des icônes personnalisées et des mises en page améliorées.
- Mises à jour en temps réel: Utiliser les requêtes en direct de Back4App pour mettre à jour les tâches en temps réel sur plusieurs appareils.
- Gestion des erreurs: Mettre en œuvre la gestion des erreurs pour les problèmes de réseau et les conflits de données.
Bonne programmation !