Notion de packages et Plugins en flutter

Flutter prend en charge l’utilisation de packages partagés apportés par d’autres développeurs aux écosystèmes Flutter et Dart. Cela permet de créer rapidement une application sans avoir à tout développer à partir de zéro.
Quelle est la différence entre un package et un plugin ? Un plugin est un type de package – la désignation complète est plugin package, qui est généralement abrégé en plugin.

Package

Au minimum, un package Dart est un répertoire contenant un fichier pubspec. De plus, un package peut contenir des dépendances (répertoriées dans la pubspec), des bibliothèques Dart, des applications, des ressources, des tests, des images et des exemples. Le site Dart packages (pub.dev) répertorie de nombreux packages, développés par les ingénieurs de Google et de généreux membres de la communauté Flutter et Dart, que vous pouvez utiliser dans votre application.

Plugins

Un plug-in est un type particulier de package qui rend les fonctionnalités de la plate-forme disponibles pour l’application. Les plug-ins peuvent être écrits pour Android (avec Kotlin ou Java), iOS (avec Swift ou Objective-C), Web, macOS, Windows, Linux ou toute combinaison de ceux-ci. Par exemple, un plug-in peut fournir aux applications Flutter la possibilité d’utiliser l’appareil photo d’un appareil.

Recherche de package

Les packages sont publiés sur Dart packages (pub.dev).
La page Flutter pub.dev affiche les principaux packages compatibles avec Flutter (ceux qui déclarent des dépendances généralement compatibles avec Flutter) et prend en charge la recherche parmi tous les packages publiés.
La page Flutter favoris sur pub.dev répertorie les plugins et packages qui ont été identifiés comme packages que vous devriez d’abord envisager d’utiliser lors de l’écriture de votre application.
Vous pouvez également parcourir les packages sur pub.dev en filtrant les plugins Android, les plugins iOS, les plugins Web, les plugins Linux, les plugins Windows, les plugins macOS ou toute combinaison de ceux-ci.

Ajouter une dépendance de package à une application

Pour ajouter un package à une application :

1- Dépendance

Ouvrez le fichier pubspec.yaml situé dans le dossier de l’application et ajoutez le nom du package sous les dépendances.

2- Installez-le
  • Depuis le terminal : Exécutez flutter pub get.
  • À partir d’Android Studio/IntelliJ : Cliquez sur Packages get dans le ruban d’action en haut de pubspec.yaml.
  • À partir de VS Code : cliquez sur Get Packages situé à droite du ruban d’action en haut de pubspec.yaml.
3- Importez-le

Ajoutez une déclaration d’importation correspondante dans le code Dart.

4- Arrêtez et redémarrez l’application, si nécessaire

Si le package contient du code spécifique à la plate-forme (Kotlin/Java pour Android, Swift/Objective-C pour iOS), ce code doit être intégré à votre application. Le rechargement à chaud et le redémarrage à chaud ne mettent à jour que le code Dart, donc un redémarrage complet de l’application peut être nécessaire pour éviter des erreurs comme MissingPluginException lors de l’utilisation du package.

5- Conclusion

Nous pouvons donc dire qu’un “package” ne contient que du code Dart alors qu’un “plugin” contient à la fois du code Dart et du code natif (kotlin / js / swift/…). Un package peut utiliser des plugins s’il le souhaite. Il sera toujours considéré comme un package.

Références

Leave a Comment

FR