Bonjour à tous et bienvenue dans le module Flutter Power!
C’est donc bien évidemment le module consacré à Flutter, et plus précisément à l’exploitation de tout son potentiel.
Flutter recèle en effet de fonctionnalités et surtout de capacités que la plupart des développeurs ne parviennent pas à maîtriser.
Nous allons voir en détail aujourd’hui le contenu de ce module pour faire de vous un expert Flutter.
Le premier sous module concerne les pratiques de développement les plus avancées destinées aux entreprises.
Qu’ils s’agissent d’applications développées en équipe ou de tout simplement de développeurs voulant sécuriser et optimiser leur code.
Nous allons voir dans ce sous-module les meilleures pratiques de Flutter, adaptées aux entreprises et aux projets d’applications ambitieux.
Le premier point à traiter concerne l’architecture de développement BLoC, arrivée il y a quelques années pour optimiser les applications Flutter.
Différentes méthodes existent pour structurer son code, notamment la plus connue comme le Model Vue Controller.
Avec l’approche BLoC, vous allez gérer toutes mes interactions de vos applications comme des flux d’évènements.
Les BLoC que vous allez créer vous aller écouter vos différents widgets et repérer tous les évènements qui leur sont liés.
Vous allez donc découper votre code soit en Widget, soit en BLoC qui vont donc tous les deux interagir pour dynamiser votre application.
Le BLoC repère les évènements associés au widget (comme un click, un formulaire, etc) et permet de changer l’état (le state) du widget.
Nous verrons dans différents tutos, comment prendre en main cette architecture BLoC avec des exemples très simples.
Nous verrons aussi comment adapter un projet existant à cette architecture de code pour vos futurs projets Flutter.
Le deuxième point essentiel de ce sous module concerne tout simplement GitHub, et la gestion de votre code en équipe.
GitHub est en effet utilisé par de nombreux développeurs pour gérer les versions de son application et héberger le code en toute sécurité.
Je vous montrerai donc en détail comment envoyer votre code dans GitHub avec toute la procédure à suivre pour un projet Flutter.
Je finirai ensuite ce sous-module par l’optimisation de vos applications Flutter sur iOS et Android.
Il existe en effet de nombreux réglages cachés qui permettent assez facilement d’accélérer le fonctionnement de son application.
Qu’ils s’agissent de réglages Firebase, dans XCode et Android Studio, je vous proposerais une liste de réglages à activer par défaut dans tout nouveau projet!
On continue avec un sous-module consacré à la gestion des animations dans Flutter.
Car comment ne pas parler de Flutter sans parler de son interface utilisateur, qui a été conçu pour révolutionner les frameworks multiplateformes.
L’une des promesses les plus importantes de Flutter était notamment de pouvoir créer des applications ultra-dynamiques avec des animations avancées.
Dans la formation Flutter Révolution, je m’étais concentré sur le design et sur quelques animations pratiques et rapides à mettre en place.
Mais Flutter propose une gestion beaucoup plus complète des animations, qui permet de réaliser à peu près n’importe quel comportement pour nos widgets.
On commencera par reprendre le fameux AnimationController qui est à la base de toutes les animations dans une application Flutter.
On utilisera aussi au passage le modèle de l’application Reflecly pour recréer certaines de ses pages les plus dynamiques.
L’idée est qu’avec de AnimationController, vous serez capable d’animer tous vos widgets avec tous les paramètres que vous pourrez ajouter.
On continuera avec le cas précis des CurvedAnimations, qui sont tout simplement des animations avec un comportement plus fluide.
C’est complémentaire à la gestion du AnimationController, pour ajouter un aspect plus naturel à vos animations.
Nous reprendrons encore l’exemple de l’application Reflectly pour utiliser les CurvedAnimations dans différentes pages pour avoir des exemples concrets.
Enfin, je vous ferais une petite introduction aux physics-based animations, pour créer des animations uniques avec mouvements basés sur la physique.
Cela peut vous permettre de créer des effets comme les rebondissements ou les glissements pour vos widgets, pour vous différencier en termes de design.
Bref, l’idée est de vraiment de vous faire maîtriser les animations avec Flutter pour créer des applications vraiment dynamiques et avancées au niveau visuel.
Conservez les performances de Flutter et créez des interfaces utilisateurs vraiment uniques dans vos applications.
On termine enfin le module Flutter Power avec la crème de la crème des fonctionnalités propres à Flutter.
Il s’agit de toutes les fonctionnalités les plus demandées par les clients sur les applications modernes, que vous pourrez utiliser à plusieurs reprises.
On commence par exemple avec l’utilisation d’API Rest dans Flutter, avec récupération de données et interactions avec les API.
Les API sont omniprésentes dans le monde informatique, et il est indispensable de savoir les intégrer à Flutter pour accéder à de nombreuses fonctionnalités.
Je prendrai comme exemple une API de news et de cryptomonnaies pour vous montrer comment manipuler une API Rest dans Flutter.
Vous serez donc capable d’intégrer n’importe quelle API dans vos applications Flutter (exemple: API WordPress, API YouTube, etc) et de bien structurer votre code.
On continuera avec une autre intégration très demandée, celle des bases de données de type SQL.
En effet, de nombreuses entreprises et clients préfèrent travailler avec des bases de données classiques et plus répandues dans les sites web.
Je vous montrerai donc comment utiliser les bases de données SQLite via le package dédié dans vos applications Flutter.
Une autre petite fonctionnalité toujours sympathique à intégrer dans nos applications est celle de la réalité augmentée.
Bien qu’elle représente malgré tout un investissement conséquent pour le développeur ou l’entreprise (pour créer des modèles 3D par exemple), elle est de plus en plus demandée.
Nous verrons donc comment ajouter de la réalité augmentée à votre application avec l’AR Kit de Flutter et les modèles 3D.
Enfin, je finirai ce sous module et le module complet de Flutter Power par la fonctionnalité de traduction d’une application Flutter.
Ce n’est en effet pas la fonctionnalité la plus intéressante à coder, mais elle n’en reste pas moins indispensable pour publier votre application à l’international.
Si votre application n’est pas traduite, vous recevrez souvent des commentaires négatifs sur les stores d’utilisateurs qui se plaignent.
Prenez donc les devant et proposez votre application en plusieurs langues pour la rendre accessible dans le monde entier.
Voilà qui conclut ce module Flutter Power consacré exclusivement à Flutter!
Comment vous venez de le voir, il est riche en apprentissages et en enseignements, à vous maintenant de les mettre en pratique!