Lascapi.fr

Menu

Étiquette : appli

Utiliser le Bluetooth dans une appli

Pour l’instant il n’y a qu’un seul paquet sérieusement utilisable pour développer un application avec Flutter, il s’agit de flutter_blue. Il existe d’autres paquets mais beaucoup trop limité, par exemple bluetooth où encore flutter_bluetooth_serial qui est limité à Android, ce qui est un paradoxe puisque Flutter n’est utile que pour développer des applications cross-platform !

Il y a très peu de documentation sur Flutter dès qu’on s’éloigne des thèmes décrit dans la doc officielle. C’est là qu’on voit que c’est un framework très jeune.

Architecture d’une appli avec Flutter

Lifting State Up

Une application en «layer» avec des « building blocks ».

  • StatefulWidget
    • Inclue les informations dans le constructeur, c’est à dire les données qui doivent lui être passées pour fonctionner
  • State
    • définition des paramètres liés au widget (qui doivent être rendu dedans)
    • les méthodes pour mettre à jour le widget (avec «setState()»)
    • construire l’interface

C’est le concept de « Lifting State Up » qui vient de React :

https://medium.com/@nimelrian/thinking-in-react-a-paradox-statement-33c19e2eb9e2

Cette architecture est parfaite pour gérer un ou deux niveaux sur un écran, mais ça devient vite très compliqué de faire passer les paramètres au travers de plusieurs niveaux, et ça ne permet pas de bien découper le code, ni d’être flexible ni d’être testable.

InheritedWidget

https://cdn-images-1.medium.com/max/1200/1*GEvdBRvehbG6PvqLbVmwZw.png
https://medium.com/flutterpub/breakdown-flutter-i-o-2018-part-two-d47f1236f585

Ce type de widget permet de recevoir un état (des fonctions et des variables) et d’y accéder directement depuis tous les enfants, peut importe leurs niveau.

Bibliographie