Flutter framework, le résumé de la conf interact 2019

Régis
IoPixel
Published in
5 min readDec 12, 2019
https://flutter.dev/

Cette année, avec Flutter, Google pousse la vision “d’ambient computing” où la question n’est plus de savoir pour quel environnement développer; on développe une application avec un code unique pour toutes les plateformes.

Pour rappel, Flutter est un framework qui permet de développer des applications natives sur android, iOS, desktop et web.

Flutter annonce fièrement qu’un million de développeurs a téléchargé le SDK et qu’il est le numéro 2 du top trending github en 2019.

Grosse annonce: l’application mobile Google Stadia a été développé avec Flutter, mais d’autres grands noms l’utilisent également, tel que ebay, Alibaba,..

Liens utiles:

Flutter Framework

La version stable passe de la 1.9.1 à la version 1.9.12.

pour rappel, le SDK Flutter dispose de 4 branches/channels:

  • stable: pour la production (la fameuse 1.9.12)
  • beta: le code est stabilisé et passera en stable bientôt. On peut s’appuyer dessus pour un nouveau projet.
  • dev: la fonction est en cours de développement…. Il est recommandé de patienter avant de l’utiliser car elle peut être modifiée ou réécrite
  • master: la version des développeurs…. Risqué! Elle permet de suivre les évolutions de flutter

Dark Mode

Flutter intègre la fonctionnalité Dark Mode, apparue récemment sur iOS et Android.

Google Fonts

Les milliers de polices open source du projet Google Fonts sont accessibles dans les applications Flutter.

https://fonts.google.com/

Add-to-App

Cette fonction permet d’intégrer Flutter dans une Application Android ou iOS existante de manière assez fluide.

Deux cas d’usage:

  • Application déjà existante: intégration de flutter sans réécriture complète
  • Utilisation de fonction spécifiques aux plateformes comme la VR ou Google Maps. On peut ainsi profiter des fonctions non disponibles dans Flutter aujourd’hui.

Flutter gallery

L’application Gallery a été réécrite. Il s’agit du démonstrateur Flutter.

https://flutter.github.io/samples/#/

Flutter Web

La fonction passe dans le channel beta. Le développement pour le web est donc possible. Attention, tous les plugins ne sont pas compatibles avec cette plateforme.

Flutter Desktop

La version Mac passe dans le channel dev. Il est possible de tester son code avec cette version. Les versions Linux et Windows sont encore en développement. Attention, tous les plugins ne sont pas compatibles avec cette plateforme.

Dart

DartPad

Un nouveau DartPad avec le support de flutter. Il est possible de tester Flutter sans installer de SDK sur sa plateforme.

Dart 2.7

pas grand chose de neuf

Extension Method

Cette fonction permet d’ajouter à toute classe, de nouvelles fonctions. Vous pouvez ainsi dans votre code, ajouter une fonction sur la classe string ou même sur un type paramétré comme List<T>.

Null Safety

Afin d’éviter les exceptions Null Reference, Dart va intégrer une analyse statique du code.

Tooling

Hot UI

Hot UI est un outil disponible aujourd’hui pour Android Studio et IntelliJ et bientôt pour VS Code. Il permet d’avoir une prévisualisation de l’affichage dans l’IDE.

Layout Explorer

Nouvelle fonction dans le Dart Dev Tools: visualisation des constraints de layout. Mieux encore, il est possible de modifier les paramètres en temps réel.

Dart dev tools

widget inspecteur, mémoire et cpu profiler, meilleurs logs, indépendamment de l’éditeur/ide

Supernova

L’outil de prototypage Supernova permet de générer du code Flutter. Il va être réécrit en flutter et sera disponible sur les plateformes mobiles et desktop en 2020. Il sera gratuit s’il l’on utilise pour dev des apps flutter.

https://supernova.io

Adobe XD

Adobe développe un plugin Open source Flutter pour Adobe XD. Il sera finalisé courant 2020. Il permettra de générer un code flutter fonctionnel en WYSIWYG. La démonstration était convaincante.

Flutter Octopus

Pour ceux qui possèdent de nombreux devices physiques ou virtuels, il est possible de tester en // sous VS Code plusieurs devices:

  • chaque device a son propre état: ce qui permet de corriger pour un device dans un sous sous menu sans reprendre à la première page. Dans la démo, l’ipad affichait une page A tandis que le Pixel 3 affichait une autre et l’opérateur modifiait la page A, ce qui n’avait aucun impact sur le pixel 3
  • chaque device a sa propre stack pour le debug. Il est possible de poser un point d’arrêt et de le déclencher pour le device désiré.

La démo proposait 8 devices avec des smartphones androids iphones et ipad.

Packages

On trouve plus de 6000 packages sur https://pub.dev soit croissance de 600% en un an. Un besoin de sélection se fait sentir et Google met en place de nouveaux outils dans ce sens:

  • Likes: les utilisateurs peuvent mettre des likes comme sur github
  • Scoring: trois critères popularité, santé, maintenance qui permettent de définir un score

On voit aussi naître le programme Flutter favourite.

Les packages identifiés comme de qualité par Google selon ses critères sont désormais identifiés par ce logo “flutter favourite”. Ils ne s’agit pas d’une garantie mais plutôt un label.

Ce label est géré par le FEC (Flutter Ecosystem Committee)

Pour conclure, l’année 2019 est une année enrichissante qui a permis de construire de solides fondations et de nombreux outils. 2020 sera une année de consolidation avec de nombreux projets mobiles et surement WEB.

A bientôt et bon code!

--

--