Outil CLI
nslogx/flutter_easyloading avatar
nslogx/flutter_easyloading

Flutter EasyLoading : un widget de superposition sans contexte

Un widget de chargement/toast propre et léger pour Flutter, facile à utiliser sans contexte, prend en charge iOS, Android et Web.

1 338 étoiles249 forksDartMIT

En bref

De quoi s’agit-il ?
Une superposition légère de chargement, progression, résultat et toast pour Flutter, appelable sans BuildContext.
À qui s’adresse-t-il ?
Flutter EasyLoading propose une API simple pour les superpositions avec des valeurs par défaut globales et des remplacements par appel, et est distribué sous licence MIT.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 48 jours.
En quel langage est-il écrit ?
Principalement Dart, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Ce qu'est ce paquet

Flutter EasyLoading est un widget de superposition léger pour Flutter qui affiche des indicateurs de chargement, une progression déterminée, des icônes de résultat et des messages toast. Sa caractéristique clé est que les appels d'affichage ne nécessitent pas de BuildContext, donc les superpositions peuvent être déclenchées de n'importe où une fois l'hôte monté. Le paquet prend en charge les applications Material et Cupertino, et les métadonnées du dépôt listent iOS, Android et Web comme plateformes cibles, bien que le README lui-même ne mentionne que ces deux types d'applications.

Pour flutter_easyloading, le contrôle 1 porte sur un point concret du dépôt : relisez la commande, le fichier ou la configuration citée, exécutez-la dans l’environnement prévu et comparez la sortie avec le comportement attendu. Cette lecture permet de distinguer une capacité documentée d’une hypothèse d’intégration. Elle aide aussi à isoler les dépendances absentes, les options par défaut et les erreurs qui doivent être remontées à l’équipe. La décision doit rester attachée à flutter_easyloading, à sa version et au cas d’usage retenu.

Exigences et installation

Le README spécifie Dart 3.6.0 ou supérieur, sous Dart 4.0.0, et Flutter 3.27.0 ou supérieur. L'installation se fait via `flutter pub add flutter_easyloading` ou en ajoutant manuellement `flutter_easyloading: ^4.0.2` aux dépendances. Le README indique également de lire le guide de migration 4.0 avant de passer de la version 3.x. Aucun autre détail d'installation n'est fourni.

Pour flutter_easyloading, le contrôle 2 porte sur un point concret du dépôt : relisez la commande, le fichier ou la configuration citée, exécutez-la dans l’environnement prévu et comparez la sortie avec le comportement attendu. Cette lecture permet de distinguer une capacité documentée d’une hypothèse d’intégration. Elle aide aussi à isoler les dépendances absentes, les options par défaut et les erreurs qui doivent être remontées à l’équipe. La décision doit rester attachée à flutter_easyloading, à sa version et au cas d’usage retenu.

Configuration de l'hôte

Pour utiliser le paquet, installez un seul hôte EasyLoading à la racine de MaterialApp ou CupertinoApp avec `EasyLoading.init()` comme builder. Si l'application a déjà un builder racine, il peut être composé en passant un paramètre builder à `init`. Une fois l'hôte monté, les méthodes d'affichage et de fermeture sont disponibles de n'importe où. Toutes les méthodes d'affichage et de fermeture renvoient `Future<void>` et peuvent être awaitées.

API publique et callbacks

L'API publique inclut `EasyLoading.show` pour un indicateur indéterminé, `showProgress` pour une progression déterminée de 0,0 à 1,0, les méthodes de résultat `showSuccess`, `showError`, `showInfo`, ainsi que `showToast` et `showCustom` pour des widgets arbitraires. `EasyLoading.dismiss` supprime la superposition active. Les callbacks de statut peuvent être enregistrés avec `addStatusCallback`, et les callbacks de fermeture avec `addDismissCallback`; les raisons de fermeture sont programmatic, tap, timeout ou hostDetached. Le README montre des exemples de gestionnaires de callbacks.

Configuration et options par appel

Les valeurs par défaut globales sont définies une fois via `EasyLoading.instance`, couvrant le style du panneau, le type d'indicateur, le type de masque, la position du toast, les durées, les couleurs, les marges internes et les styles de texte. Pour les appels ponctuels, `EasyLoadingOptions` fournit un instantané immuable des remplacements visuels et de mise en page; chaque champ est optionnel et hérite de la valeur globale correspondante lorsqu'il est omis. Certains paramètres comme `maskType`, `dismissOnTap` et `duration` restent des paramètres directs de méthode plutôt que des champs d'options.

Contenu personnalisé et indicateurs intégrés

Le contenu personnalisé est pris en charge via `showCustom` avec n'importe quel widget. Les animations personnalisées implémentent la classe de base `EasyLoadingAnimation`, et les indicateurs personnalisés peuvent remplacer les widgets intégrés de chargement, succès, erreur et info. Le README liste 30 types d'indicateurs intégrés, fournis par le paquet flutter_spinkit, et pointe vers une implémentation d'exemple d'animation personnalisée.

Licence et ressources du projet

Le paquet est distribué sous licence MIT. Le texte de licence accorde le droit d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies, et déclare que le logiciel est fourni "tel quel" sans garantie d'aucune sorte. Le README crédite flutter_spinkit pour les indicateurs intégrés et fournit des liens vers l'application exemple, le journal des modifications, le guide de contribution, la politique de sécurité et le suivi des problèmes. Le dépôt n'est pas archivé, mais le README ne fournit pas de statistiques d'utilisation, de benchmarks de performance ou d'informations sur l'adoption en production.

Conclusion éditoriale

Flutter EasyLoading propose une API simple pour les superpositions avec des valeurs par défaut globales et des remplacements par appel, et est distribué sous licence MIT.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté