Flutter – Concepts de base de données
Flutter – Concepts de base de données
-
Présentation
- Dans une application mobile, les bases de données nous permettent de stocker des informations sans avoir systématiquement besoin d’une connexion internet.
- Les bases de données offrent la possibilité de stocker des actions faites par l’utilisateur pour être utilisées ultérieurement.
- De nombreuses applications que vous utilisez stockent les données directement sur l’appareil. L’application Horloge stocke vos alarmes récurrentes, l’application Google Maps enregistre vos recherches récentes et l’application Contacts vous permet d’ajouter, de modifier et de supprimer les coordonnées de vos contacts.
- Dans ce chapitre, nous discutons de chacun d’eux en détail.
-
SQLite
-
Qu’est-ce que SQLite ?
- SQLite est une base de données relationnelle couramment utilisée. Plus précisément, SQLite désigne une bibliothèque C légère permettant de gérer des bases de données relationnelles avec le langage Structured Query Language, plus connu sous le nom de SQL.
- Il n’est pas nécessaire d’apprendre le langage C ou tout autre langage de programmation pour utiliser une base de données relationnelle. SQL fournit simplement un moyen d’ajouter et de récupérer des données dans une base de données relationnelle avec quelques lignes de code.
- SQLite est une base de données relationnelle open source.
- SQLite n’a pas de processus serveur séparé, ce qui signifie qu’il stocke essentiellement les données dans un fichier (également appelé mode intégré).
- SQLite est la base de données la plus utilisée au monde et est utilisée dans presque tous les appareils connectés.
- Android et iOS s’appuient fortement sur SQLite.
-
Base de données intégrée :
- SQLite est une base de données intégrée qui fonctionne au sein de l’application elle-même. Il ne nécessite pas de serveur ou d’installation distinct, ce qui le rend pratique pour le développement mobile.
-
Léger et efficace
- SQLite est conçu pour être léger et efficace, optimisé pour les appareils mobiles dotés de ressources limitées telles que la puissance de traitement, la mémoire et le stockage.
- Il est spécialement conçu pour fonctionner correctement sur les plates-formes mobiles, offrant des performances rapides et fiables.
-
Stockage local:
- SQLite permet aux développeurs de stocker des données directement sur l’appareil, permettant des fonctionnalités hors ligne et éliminant le besoin d’un accès constant au réseau.
- Ceci est particulièrement avantageux pour les applications mobiles qui peuvent fréquemment fonctionner dans des environnements avec une connectivité Internet limitée ou peu fiable.
-
Intégration transparente:
- SQLite dispose d’un support natif dans Flutter, ce qui signifie qu’il peut être facilement intégré aux projets Flutter sans nécessiter de bibliothèques ou de dépendances tierces supplémentaires.
- Le SDK Flutter fournit des API et des packages spécifiquement pour travailler avec les bases de données SQLite, ce qui permet aux développeurs d’interagir facilement avec la base de données.
-
Facilité d’utilisation :
- SQLite est une base de données relativement facile à apprendre et à utiliser. Il a une syntaxe simple similaire à SQL et ne nécessite aucune configuration particulière ni configuration de serveur.
- Cela en fait un bon choix pour les développeurs qui débutent dans les bases de données ou qui souhaitent éviter la complexité de la configuration d’un serveur.
-
Portabilité :
- SQLite est une base de données portable qui peut être utilisée sur diverses plates-formes, notamment Windows, Mac, Linux et les appareils mobiles.
- Cela en fait un bon choix pour les développeurs Flutter qui souhaitent créer des applications pouvant être utilisées sur plusieurs plates-formes.
-
Sqflite
-
Présentation
- Sqflite est une bibliothèque de gestion de bases de données SQLite pour Flutter, un framework de développement d’applications mobiles.
- Elle permet aux développeurs de créer, d’accéder et de gérer des bases de données locales dans leurs applications Flutter.
- SQLite est une bibliothèque de gestion de bases de données relationnelles légère et autonome, largement utilisée dans les applications mobiles et autres environnements à faible ressource.
- SQFlite est construit sur SQLite, qui est un moteur de base de données relationnelle intégré largement utilisé. SQLite fournit un système de base de données léger, sans serveur et autonome qui peut être intégré directement aux applications. SQFlite simplifie l’utilisation de SQLite dans les applications Flutter, en éliminant les complexités et en fournissant une API plus conviviale pour Flutter.
- Sqflite facilite l’utilisation de SQLite dans les applications Flutter en fournissant une interface simple et réactive pour effectuer des opérations de base de données telles que la création de tables, l’insertion, la mise à jour, la suppression et les requêtes.
- sqflite – Utilisé pour accéder et manipuler la base de données SQLite
- firebase_database – Utilisé pour accéder et manipuler la base de données NoSQL hébergée dans le cloud de Google.
-
Pourquoi utiliser le plugin SQFlite ?
- Le plugin SQFlite est utilisé dans le contexte de Flutter pour plusieurs raisons liées à la gestion des données locales dans les applications mobiles.
- Flutter ne fournit pas d’abstraction intégrée pour accéder à la base de données SQLite. Cependant, en utilisant le plugin SQFlite, on peut accéder à la base de données SQLite sur Android et iOS. Le plugin est bien entretenu et est également recommandé par l’équipe Flutter.
-
Les principales fonctionnalités et concepts de SQFlite
- Les principales fonctionnalités et concepts de SQFlite incluent :
- Stockage local : SQFlite vous permet de créer et de gérer une base de données locale au sein de votre application Flutter. Ceci est particulièrement utile pour stocker des données qui doivent être disponibles même lorsque l’application est hors ligne.
- Tables et enregistrements : comme les bases de données traditionnelles, SQFlite prend en charge la création de tables pour organiser et structurer vos données. Vous pouvez insérer, mettre à jour, supprimer et interroger des enregistrements dans ces tables.
- Requêtes : SQFlite vous permet d’effectuer différents types de requêtes sur votre base de données, notamment la sélection de données spécifiques, le filtrage, le tri et la jointure de tables.
- Opérations asynchrones : étant donné que les opérations de base de données peuvent prendre du temps, SQFlite fournit des méthodes asynchrones pour interagir avec la base de données sans bloquer le thread principal de l’interface utilisateur de votre application.
- Transactions : SQFlite prend en charge les transactions, qui garantissent la cohérence et l’intégrité des données lors d’opérations de base de données complexes.
- Intégration ORM : bien qu’il ne s’agisse pas d’une fonctionnalité intégrée de SQFlite, de nombreux développeurs utilisent des bibliothèques de mappage objet-relationnel (ORM) comme Moor ou Floor pour travailler avec SQFlite de manière plus intuitive en représentant les tables de base de données sous forme de classes Dart.
- Multiplateforme : SQFlite fonctionne sur différentes plates-formes prises en charge par Flutter, notamment iOS, Android et les ordinateurs de bureau (Windows, macOS, Linux).