Flutter, outil de développement d'applications multiplateforme

Flutter, outil de développement d'applications multiplateforme

1. Qu'est ce que Flutter ?

Dans le monde du développement d'applications, on a tendance à chercher de nouvelles approches de codage de plus en plus sophistiquées. Dans le cadre du développement mobile, nous avons Android Studio, Swift, Ionic … des outils nous permettant de créer des applications mais la plupart pour un système spécifique. Par exemple, Android Studio pour des appareils Android.

Flutter est un Framework open source développé par Google en 2018 disposant d'une documentation très détaillée. C'est une boite à outils d'interface utilisateur permettant de réaliser des applications multiplateforme et très pratique dans le cadre du développement surtout mobile mais aussi web. Il utilise un langage de programmation spécifique pour la conception d'application.

2. Pourquoi utiliser Flutter ?

Flutter vient avec une dose de nouveauté. Il est open source(code source ouvert) et permet de développer des applications natives une fois pour Android et Ios. Il dispose d'une documentation riche, simple, claire et surtout très détaillée. La communauté de Flutter ne cesse de s'agrandir ainsi que les tutoriels sur ce Framework. Flutter fournit plusieurs bibliothèques utile à votre code provenant du Material Design ou de Cupertino pour concevoir votre UI.

3. Quel est le langage de programmation de Flutter ?

Un Framework est basé sur un langage de programmation donné et ainsi, il fonctionne sur cette base. Flutter utilise le langage Dart, un langage créé également par Google. c'est un langage de programmation dédié à la création d' applications multiplateforme mobiles, de bureau, de serveur et web. Il est créé bien avant l'arriver de Flutter, il s’exécute directement sur les navigateurs, sous forme d’application web. C'est un langage oriente objet semblable à C++. Dart est simple d'utilisation et admet une documentation. On peut faire des testes sur ce langage directement en ligne avec un outil DartPad, qui est aussi open source ou sur un éditeur de texte quelconque.

4. Le principe de base de Flutter

L'environnement Flutter est principalement basé sur les widgets. Comme on le dit souvent avec Flutter tout est widget. Ils donnent l’apparence en fonction de leur configuration et de leur état. Pour créer une interface utilisateur, on utilise des widgets qui constituent ce qui s'affiche sur l'écran. Les widgets héritent de la classe Widget. Ce sont les boutons, les conteneurs, les textes, les images, … On les imbrique selon que l'on veut pour ainsi créer une hiérarchie dit Arborescence des Widgets. Un widget peut afficher quelque chose, aider à définir la conception, aider à la mise en page, gérer l’interaction avec l’utilisateur, etc. Dans Flutter, on parle d'arborescence parents-enfants, des widgets dans des widgets. Il y' a aussi le concept d'avec état (StatefulWidget) ou sans état (StatelessWidget);

  • avec état : Ce widget peut être utilise plusieurs fois,
  • sans état : Ce widget est immuable et n'est utilisé qu'une seule fois.

5. Avantages et Inconvénients de Flutter

a. Avantages

  • Base de code unique pour toutes les plateformes cibles majeures
  • Dart, un langage de programmation d’apprentissage facile pour les débutants
  • Concept « Tout est un widget » offrant de nombreuses opportunités
  • Accès à des bibliothèques complètes d’éléments d’IU préconçus
  • Développement rapide grâce à la fonctionnalité Hot Reload du langage DART
  • Une documentation facile à comprendre
  • Intégration des animations
  • Widgets personnalisables
  • Reduction des coûts de développement

b. Inconvénients

  • obsolescence rapide des packages
  • le poids des apks est important