Formation > Blog > Mobile > Optimiser Flutter pour Dart : Les bonnes pratiques à adopter

 

Flutter est un framework dont la puissance est désormais bien connue. Utilisé souvent de pair avec Dart, il est même devenu le standard pour le développement d’applications cross-platform et vous avez très certainement déjà entendu parler de l’outil ou même déjà utilisé. Dans cet article, nous allons voir ensemble comment optimiser vos applications créées avec Flutter et Dart en abordant des sujets comme la mesure de la performance ou la gestion de la mémoire.

L’équipe Ambient IT

Comment mesurer les performances de mon application flutter ?

Avant de pouvoir optimiser vos performances, il est évidemment important de savoir comment les mesurer.

Avec des outils comme Flutter DevTools, vous pourrez profiler vos applications et identifier les goulets d’étranglement.

Une fois l’outil installé, la commande flutter pub global run devtools permet de l’ouvrir dans votre navigateur par défaut.

Avec l’onglet « Performance », vous pourrez lancer l’enregistrement de vos performances, il vous suffira d’interagir avec votre application pour que l’outil fasse sa magie.

Une fois que vous aurez trouvé les bonnes métriques, vous pourrez vous préoccuper de comment les optimiser.

Comment optimiser mon application Flutter et dart ?

Maintenant que vous savez mesurer les performances, nous pouvons entrer dans le cœur du sujet, comment les optimiser

Utilisation de Const

Utiliser le mot-clé const dans Dart permet la création d’une instance unique d’un objet. Cette fonction marche même si ses propriétés sont identiques à un autre.

Cela permet d’optimiser la mémoire et par extension les performances, car Dart réutilise la même instance dans le but d’économiser les ressources.

class Person {
  final String name;
  final int age;

  const Person(this.name, this.age); // Constructor for const objects
}

void main() {
  const Person person1 = Person('Alice', 30);
  const Person person2 = Person('Alice', 30);

  print(identical(person1, person2)); // This will print 'true' because person1 and person2 are identical const objects
}

ListView.builder ou CustomScrollView

Pour les menus déroulants et autres listes, je vous conseille de vous servir de ListView.builder ou CustomScrollView.

Ce sont des widgets qui ne chargent que les éléments visibles à l’écran et donc améliorent drastiquement les performances par rapport à d’autres outils.

Vous

Utilisez des Widgets

D’ailleurs,ailleurs en parlant de widget, je vous conseille de les privilégier par rapport aux fonctions d’aide pour construire votre UI.

Les widgets sont plus performants, car ils permettent à Flutter de mieux optimiser la reconstruction de l’arbre des widgets.

Choisissez judicieusement entre des widgets stateless et stateful. Ces derniers ne doivent être utilisés qu’en dernier recours car ils sont bien plus demandant en termes de performances.

Animations

Avant de vous lancer dans les animations sur votre interface, utilisez bien la commande RepaintBoundary afin de délimiter les zones qui nécessitent d’être redessinées.

Les animations peuvent ralentir une animation, surtout en cas de mauvaise gestion. Avec des widgets comme AnimatedBuilder

Il est également possible de réaliser une technique appelée caching afin de réutiliser des images ou des animations rendues précédemment :

  • Mise en cache des animations implicites. En utilisant AnimatedContainer et AnimatedOpacity, Flutter met automatiquement en cache les animations.
  • Mise en cache explicite de l’animation. Technique offrant plus de personnalisations que la précédente, AnimationController avec AnimatedBuilder ou AnimatedWidget permet de réaliser la mise en cache manuellement.
  • Accélération matérielle. Flutter utilise le GPU de votre appareil pour effectuer un rendu efficace des animations, ce qui se traduit par des performances plus fluides et une utilisation réduite de l’unité centrale.
  • Mise en cache des actifs. Il faut aussi savoir que Flutter met en cache les actifs afin de les réutiliser plus facilement.

Conclusion

Pour faire simple, optimiser votre application Flutter et Dart nécessite une compréhension de plusieurs aspects du framework et du langage.

En suivant ces petits conseils, vous devriez avoir vos premières pistes intéressantes pour commencer à optimiser vos applications en profondeur. Vous serez alors en mesure de créer des applications performantes, fluides et réactives.

N’oubliez pas qu’optimiser votre application, c’est avant tout un marathon et pas un sprint et que vous devrez toujours être à l’affut pour ne rater aucune optimisation possible.

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp