Cette année, Flutter est présenté comme le meilleur framework en termes de performance pour le développement d’applications multiplateformes : Android, iOS, Linux, Mac, Windows… Mais, l’est-il vraiment ? L’article présente les inconvénients et limites actuelles de Flutter notamment l’utilisation d’animation sur ce framework.
Un FRAMEWORK trop RÉCENT ?
Flutter a vu le jour avec sa première version (version alpha) en 2017. Un framework de développement récent veut forcément dire peu de développeurs ayant les connaissances pour l’utiliser.
Bien qu’il s’agisse d’un framework reconnu aujourd’hui, le fait que Flutter soit jeune, implique une communauté amoindrie. Mais, cette information est à prendre avec des pincettes, effectivement, depuis 2020, Flutter dépasse iOS en quantité de tickets. Cela démontre que Flutter a une communauté grandissante de jour en jour et qu’il s’impose rapidement comme étant un pilier du framework de développement d’applications multiplateformes.
La communauté d’un framework/langage est un élément important pendant la période de développement. En effet, il est fort probable qu’un développeur ait déjà rencontré un problème et ait trouvé une solution.
De plus, les différentes mises à jour arrivent tardivement sur les différentes plateformes : iOS / Android. Les mises à jour de Flutter arrivent après avoir été diffusées dans leurs applications natives. En soit, ce n’est pas un gros inconvénient, car les fonctionnalités ne sont pas obligatoirement ajoutées dès le premier jour sur les applications natives.
Avoir des aspects personnalisés à la plateforme
A contrario d’autres logiciels généraux, Flutter possède un code unique utilisé pour toutes les plateformes. Il est donc impossible d’obtenir des aspects spécifiques pour les différentes plateformes. Pour certaines personnes, le manquement de cette spécificité est inconcevable. Ils s’attendent à ce que le Material Design soit unique pour iOS et Android.
Cependant, si vous voulez développer des designs uniques, il faudra développer plusieurs codes différents pour chaque plateforme.
la Taille des fichiers
La taille d’une application peut être un facteur crucial pour certains développeurs. Flutter a une taille importante par rapport aux autres plateformes et personne ne souhaite posséder une application lourde occupant beaucoup d’espace dans son mobile.
Un langage peu familier
Flutter utilise son propre langage de programmation appelé Dart. Il ne s’agit pas d’un langage informatique populaire. Ainsi, lorsque les développeurs commencent à créer des applications Flutter, ils ont besoin de ce langage unique. Ce qui peut être un frein pour certains développeurs, qui préfèrent utiliser un langage de programmation universel qu’ils connaissent déjà.
Comme tout est du Dart et que rien n’est comme JSX, tout est un widget et est hautement personnalisable, et cela crée du désordre assez facilement. Il faut un certain temps d’adaptation (généralement 2 jours ou plus), plusieurs essais et erreurs pour comprendre comment structurer son code afin qu’il reste lisible.
Les projets plus importants nécessitent de plus en plus d’efforts, de temps et de ressources pour se développer. Si vous avez besoin d’une solution personnalisée, vous courez le risque que Flutter ne dispose pas immédiatement des fonctionnalités dont vous avez besoin.
Cependant, si vous choisissez React Native, vous ne saurez jamais quand vous devez vous préparer aux problèmes de compilation de code. Dans ce contexte, la verbosité du code de Flutter est moins compliquée.
Problème de build
L’IDE peut empêcher de builder sur les simulateurs à maintes reprises, le problème est qu’il ne reconnait pas les simulateurs iOS et Android en cours d’exécution. Cela empêche la compilation.
Ce problème peut arriver si vous changez de projet avec des simulateurs déjà lancés. Il s’agit donc d’un cas rare si vous développez sur un seul projet.
Le problème de build est lié à Android Studio, vous pouvez passer sur VSCode si vous voulez éviter ce problème de build et compiler parfaitement avec succès.
Conclusion
Flutter possède bien sûr plus d’avantages que d’inconvénients. Malgré les inconvénients énoncés, Flutter est irrévocablement le framework des applications à venir. De plus, il est soutenu par Google, vous ne pouvez pas vous tromper en matière d’applications mobile. Si vous êtes intéressé par ce framework, nous vous proposons notre formation Flutter & Dart disponible en présentiel ou en distanciel.