Développement d’application : Pourquoi utiliser Flutter ?

Développement d’application : Pourquoi utiliser Flutter ?

Vous avez certainement entendu parler de Flutter. Dans cet article je vais vous présenter quelques raisons qui m’ont poussé à l’utiliser dans mes projets.

Flutter est un framework gratuit et open source de développement natif multiplate-forme créé par Google. Flutter prend en charge le mobile (Android & iOS), le desktop (Windows, Mac OS, Linux etc), les périphériques intégrés (Raspberry Pi , Google Home Hub etc) et le web. Flutter est encore jeune mais il a déjà commencé à faire ses preuves. Le framework a déjà séduit certains grands noms de la tech : Alibaba, le géant du e-commerce chinois l’a utilisé pour son application Xianyu. Les applications comme Reflectliy, Hamilton Musical et bien d’autres utilisent Flutter. Google l’utilise également dans ses produits ( Google Ads et Google Greentea).
Il y a une forte communauté qui se bâtit autour du framework.

Flutter est basé sur Dart, un langage de programmation moderne (développé par Google) qui est très facile à apprendre si vous connaissez déjà Java ou JavaScript. Vous pouvez commencer à vous familiariser avec Dart en lisant sa documentation qui est de qualité, facile à suivre et disponible sur le site officiel. Dart avait été conçu au départ par Google pour le web. En plus de pouvoir utiliser Dart avec Flutter, vous pouvez créer une application Web, un script de ligne de commande ou une application côté serveur. Dart compile en Javascript et en langage machine. Apprendre Dart a un avantage certain. Vous pourrez construire avec Dart et sans recourir à un autre langage vos applications clients et serveurs.

Il faut noter que l’approche de Flutter à l’UI (User Interface ou en français Interface Utilisateur) multi-plateforme est unique.
Flutter n’utilise pas la webview comme c’est le cas avec Cordova et PhoneGap. Les applications Cordova et PhoneGap sont essentiellement des applications JavaScript/HTML/CSS déguisées en applications natives mobiles.
À la différence de React Native, Flutter est livré avec un grand nombre de widgets UI prêts à l’emploi. Toute l’interface utilisateur d’une application Flutter est écrite en Dart. Vous n’avez pas besoins d’utiliser des DSL UI externes (c’est-à-dire des fichiers HTML ou XML).
Les widgets de Flutter ne sont pas des widgets natifs comme c’est le cas avec React ou Xamarin. Flutter dessine lui même ces composants graphiques. Car l’utilisation des composants d’interface utilisateur natifs présente un coût, les plates-formes sont mises à jour régulièrement, ce qui peut prendre plus de temps pour qu’un framework s’adapte aux nouvelles versions.
Si des solutions comme Xamarin sont adaptés au partage de codes logiques, elles ne sont pas idéales pour la réutilisation du code de l’interface utilisateur d’une application. Quant à Flutter, son moteur possède tout ce qu’il faut pour la création de l’interface utilisateur de votre application. Ce qui fait que Dart n’utilise pas de pont pour communiquer avec les modules natifs de l’appareil sur lequel il est exécuté. Et les applications Flutter sont directement compilées en langage machine, c’est un gage de performance et d’unicité de votre application. Votre application sera toute aussi performante qu’identique (interface) quelle que soit la plateforme (Android, iOS etc).

Avec le mode de fonctionnement JIT (Just-In-Time) de Dart, le développeur bénéficie d’une fonctionnalité très utile : Hot Reload. L’idée du Hot Reload avec Flutter est de corriger le problème du temps nécessaire entre chaque build. Cette fonctionnalité aide le développeur à créer des interfaces utilisateur, à expérimenter et à ajouter différentes fonctionnalités, ainsi qu’à détecter et à corriger les bogues rapidement sans avoir à reconstruire à chaque fois son application. Le développement d’une application Flutter devient alors bien plus rapide.

Le développeur peut également accéder aux fonctionnalités natives telles que les kits de développement logiciel (SDK), les bibliothèques tierces et réutiliser le code natif existant (Swift, Objective C, Java et Kotlin).

Flutter se place alors comme un concurrent sérieux dans le développement mobile et desktop face à des solutions comme React, Electron, Xamarin, Nativescript etc.

Je l’ai déjà adopté et je suis plutôt content, dites-moi en commentaire si vous ferez de même.

Laisser un commentaire