Flutter, des applications sublimes (et natives) en un temps record !

Flutter, des applications sublimes (et natives) en un temps record !  

Développé par Google, Flutter est un kit de développement de logiciel open-source et multi-plateforme.

Il permet de créer des applications pour Android, iOS, Linux, Mac, Windows et des applications Web en utilisant une base de code unique. Flutter repose sur Skia, un moteur graphique performant (langage C++). Et Dart, un nouveau langage objet typé proche des langages web classiques (JS/TS) et optimisé pour le client. Dart supporte le concept null safety”, qui permet d’éviter les erreurs de référence nulles (erreurs les plus récurrentes dans le développement) pendant l’exécution de l’application. 

 

Widgets et librairies 

Avec Flutter, tous les composants présents sont des widgets, ils représentent des composants élémentaires utilisables au sein de l’environnement pour composer l’interface utilisateur. L’expression de cette d’une interface utilisateur est traduite grâce à un arbre de widget (plus communément appelé “widget tree). Il permet de voir et comprendre clairement et très rapidement comment et de quel élément est composé l’interface utilisateur, mais aussi de facilement interchanger ces widgets. 

Exemple de code Dart mise en œuvre avec Flutter 

Exemple de code Dart mise en œuvre avec Flutter

Par ailleurs, les librairies incluses dans le kit développement (out-of-box) sont très complètes. Elles proposent plus d’une centaine de widgets permettant de faire des animations, du scrolling ou tout simplement des contrôles pour l’interface utilisateur. Le kit de développement propose des implémentations pour les deux grandes spécifications système graphiques existantes : Material et Cupertino. La librairie Material comporte l’ensemble des composants décrits dans Material Design A contrario, Cupertino reprend les composants de bases utilisées dans les interfaces iOS d’Apple.  

Les équipes de Google ont choisi flex” comme système de mise en place pour Flutter. Etant considéré comme un standard dans le développement de site web, ce système de mise en page “responsive” (adaptatif en fonction de la taille de l’écran) permet de rapidement s’adapter aux développeurs web. 

Afin d’étendre facilement et efficacement Flutter, Google propose aussi le gestionnaire de libraire en ligne Pub.dev, qui liste et documente un ensemble de librairie réutilisable. Une fois la référence de libraire trouvé sur ce site, il est très facile de l’intégrer en copiant simplement son nom dans un fichier de référence. Ce gestionnaire présente des milliers de librairies utilisé dans le processus standard de développement d’application.  

 

Productivité et rapidité de développement 

Flutter met l’accent sur la productivité grâce à un mécanisme de rechargement à chaud (hot reload) qui permet d’obtenir le rendu de changements graphique en quelques millisecondes ! L’intégration d’une nouvelle librairie peut aussi s’effectuer à chaud et le redémarrage complet de l’application (hot restart) en cas de besoin prends quelques secondes à peine ! 

Exemple de l’utilisation du hot reload

Exemple de l’utilisation du hot reload, cliquez sur l’image pour avoir le gif (lien du gif )

 

Performance 

Flutter met aussi l’accent sur la performance en intégrant les différences critiques (icones, polices, scrolling) des différentes plateformes supportées par celui-ci. Le système de compilation utilisé permet de traduire directement le langage Dart en code machine, ce qui donne un rendu une fluidité sans précédente 

 

A vos navigateurs ! Essayer c’est l’adopter 

Il est possible d’essayer Flutter directement dans votre navigateur grâce à un environnement de développement en ligne appelée DartPad. Vous pouvez essayer de créer votre première de code Flutter grâce à ce lien.

 

Ecrit par Alexis Artigues, Full-Stack Développeur

 

Avez-vous lu notre article sur les NFT ?