Flutter, une approche novatrice

Pierre BARNAUD
May 28 · 5 min read

Hello There ! Je m’appelle Pierre BARNAUD, j’ai 23 ans et aujourd’hui je rédige mon premier article sur la technologie novatrice Flutter créée par Google. Actuellement étudiant en première année de l’école du Numérique IMIE — Rennes.

Depuis 2 mois, j’ai intégré en stage la start-up NextoYou, incubée au Mabilay chez 1Kubator à Rennes. Dans ce cadre, il m’a été donné l’occasion de me former sur Flutter.

Rentrons maintenant dans le vif du sujet. Flutter qu’est-ce que c’est ? Flutter est un SDK, développé par Google, qui permet de développer des applications mobiles. Il utilise le langage Dart. Il génère du code natif pour une utilisation optimale des smartphones sur Android et sur IOS. Celui-ci va également dessiner ses propres pixels, de manière à pouvoir s’adapter à tout type de smartphone.

Concurrent direct de React Native créé par Facebook ainsi que de Ionic qui sont tous 2 des outils de développement générant du code hybride.

Sur Flutter, tout est Widget. Ce SDK utilise ce que l’on appelle des Widgets qui permettent d’ajouter des effets visuels, structurels et de créer une plateforme interactive.

On a les widgets Basics comme Row qui permet de créer une liste horizontale, également « Column » qui lui fera une liste verticale. Également « Text » pour l’insertion d’un texte basique ou encore « Image ». Il en existe plein d’autre encore.

Flutter est Open-Source. La possibilité de designer son application avec un look un peu plus iOS est possible via les Widgets « Cupertino ».

Flutter dispose d’outils très pratiques :

Mon outil préféré est le Hot Reload qui permet de mettre à son jour son application dans un émulateur/simulateur comme par exemple une couleur à changer ou une faute d’orthographe à corriger sans avoir à recompiler toute l’application qui s’effectue très rapidement (1s voir un peu plus en fonction des modifications).

Un autre point fort de Flutter, est qu’il dispose d’une documentation très riche et très détaillée, expliquant comment installer Flutter, les différents widgets, etc. Disponible à cette adresse : https://flutter.dev/docs, ainsi que d’une grande communauté réactive.

Comme cité plus haut, Flutter utilise le langage Dart, développé par Google, peu connu chez les développeurs du fait par son existence récente (2011). Dart a été créé initialement dans le but de remplacer JavaScript. Maintenant il est principalement utilisé pour le développement d’applications mobiles Android/iOS via le SDK Flutter. C’est un langage typé, orienté objet.

Revenons à Flutter maintenant et plus précisément à la partie technique. Flutter peut être installé à la fois sous Windows, Linux et Mac OS. Utilisable sous Android Studio, Visual Studio Code ou encore Xcode (solution Apple).

Il est envisageable d’utiliser un smartphone pour tester en direct son application. Il est nécessaire d’activer le mode développeur, aussi appelé mode debugger, pour pouvoir utiliser son smartphone pour les phases de test.

Dans le cadre de mon intégration dans la start-up NextoYou, il m’a été proposé de valider ma certification Flutter Udemy.

Cette certification m’a permis d’aborder les sujets suivants :

  • Gestion des écrans UI / UX
  • Apprentissage sur les bases de données avec Firebase
  • Flux musicaux, géolocalisation, extraction de données météo via une API
  • Réalisation d’un flux de news via API

J’ai finalisé ma formation par le déploiement des applications créées sur les 2 types de smartphone, iOS et Android, avec des résultats très concluants. J’en ai profité pour leur trouver une icône et un nom pour chacune.

Firebase est développée par Google et propose des services de suivi d’application, d’authentification, de gestion de base de données aux Développeurs via diverses solutions payantes mais propose tout de même une solution gratuite suffisante pour le démarrage.

J’ai pu créer moi-même un projet sur Firebase en la liant à une application dans ma propre base de données.

Par la suite j’ai pu m’atteler à la fonctionnalité d’authentification proposée par Firebase en confirmant ma création de compte par adresse mail. D’autre type de vérification d’authentification sont disponibles comme Google, Facebook, Twitter, etc.

En conclusion, Flutter est une solution qui a, de mon point de vue, de l’avenir. Réduisant à la fois les coûts de production et le nombre d’équipe nécessaire puisque un seul code suffit pour toutes les plateformes. Il permet de créer une application rapidement. Enfin, des mises à jour régulières sont proposées et il dispose d’une documentation très complète. A terme, Flutter permettra un développement unifié pour une application à la fois mobile, web et desktop.

Article rédigé par Pierre BARNAUD, Rennes, mardi 28 mai 2019