1 Qu'est-ce que Flutter ? OpenSource Toutes les couches Multiplateforme Android (4.1+) & iOS (8.0+) Inspiré du web Hot Reload, concepts… Code natif = performances Dart Langage de programmation Tooling Plugins, Inspector…
1 "Tout est un widget" 100% Flutter Dessine tout à l'écran Tout est widget Layout, thème, vue… Catalogue Material, iOS… Immutable Mais on peut y connecter un état
1 Dart : les classes DART class Car {} // On récupère les attributs et l'implémentation des méthodes class Clio extends Car {} // On ne récupère que la définition de la classe Car class Clio implements Car {}
1 Dart : les constructeurs DART class Car { final String model; Car(String carModel) : model = carModel; Car(this.model); Car.namedConstructor(String carModel) : model = carModel; }
1 Dart : les constructeurs DART class Car { final String model; Car(String carModel) : model = carModel; Car(this.model); Car.namedConstructor(String carModel) : model = carModel; }
1 Dart : les constructeurs DART class Car { final String model; Car(String carModel) : model = carModel; Car(this.model); Car.namedConstructor(String carModel) : model = carModel; }
1 Dart : les arguments DART // Valeur par défaut void myMethod3 ({int arg1, int arg2 = 10}) {…} // Forcer les valeurs pour les named arguments void myMethod3 ({int arg1, @required int arg2}) {…}
1 Dart : la visibilité (public / privé) DART class Car { final String _model; String get model => _model; void _internalMethod() {…} void publicMethod() {…} }
1 Liste des layouts / containers Fils unique Text, Image, Padding, Theme… Padding Texte Fils multiples Column (les uns en dessous des autres) Row (les uns à côté des autres) Stack (les uns aux dessus des autres) Column Texte
1 Quelle différence entre StatelessWidget et StatefulWidget ? stless stfull StatelessWidget Son état n'évolue pas au fil du temps Bienvenue ! StatefulWidget Widget attaché à un état (State) qui peut évoluer au fil du temps Vous avez 1 item Ajouter un item au panier
1 Le lifecycle simplifié des StatefulWidgets initState Created Widget State create State Initialized mounted didChange Dependencies Ready build Defunct dispose setState
1 Comment gérer la navigation ? Bouton retour sur Android, swipe sur iOS Gestion auto de la plateforme Ce composant gère les écrans et la backstack Le Navigator