Retour

Développement d'applications avec Dart et Flutter

Durée : 4 jours (28h)
Tarif : 2400€ HT

Flutter est une technologie open-source développée par Google pour accélérer le développement d'applications mobiles, web et desktop.

Flutter permet aux développeurs d’utiliser un même code source pour toutes les plateformes, ce qui simplifie considérablement le processus de développement et réduit les coûts. Flutter facilite également la création d'interfaces graphiques complexes et interactives grâce à l'utilisation d'un paradigme déclaratif pour la construction des interfaces, une librairie complète de composants graphiques (Material Design) et un environnement de développement particulièrement productif (Hot Reload).

Objectifs

Cette formation permet d’acquérir les bases nécessaires pour le développement d’une application avec Flutter :

Pré-requis

Les participants doivent connaitre au moins un langage orienté objet.

Programme

Jour 1 : Introduction à Dart et Flutter

Durant la première matinée, nous ferons un tour d’horizon du langage Dart et développerons une application en ligne de commande.
L’après-midi, nous explorerons un premier projet Flutter afin d’en comprendre la structure et les concepts de base.

Flutter : similitudes et particularités

Dart : un langage familier et moderne

  • Programmation Orientée Objet
  • Programmation asynchrone
  • Sound null safety
  • Dart 3.x : Record, Pattern matching, extension types...

Développement d’une application en ligne de commande (CLI)

Création d’un projet Flutter

Un projet Flutter est constitué de sa configuration propre, de son code source Dart, et des sous-projets des différentes plateformes visées ( iOS, android, web, windows,…)

  • Utiliser Flutter CLI
  • Création de projet via l’IDE
  • Structure et configuration du projet

Création d’interfaces graphiques

  • Structure d’une application Flutter
  • Structure d’un écran
  • Les widgets de base : textes, images, conteneurs...
  • Composer un layout
  • Utiliser Flutter Inspector

Jour 2 : Interactivité et gestion d'états simples

Interactivité

  • Utiliser les boutons Material
  • Créer des boutons personnalisés

Listes

  • Afficher des listes
  • Afficher des grilles
  • Contrôle du scrolling

Navigation

  • Afficher des listes et des grilles
  • Gérer la navigation
    • Les deux API de navigation
    • Utiliser Navigator
    • Les bases de GoRouter
    • Routes dynamiques et paramètres de routes
    • Afficher des popups

Création d’une application Master/Détails

Widgets et Gestion d’états

  • Stateless et Stateful : les différents types de widgets
  • Maîtriser le cycle de vie d’un State
  • Création de widgets complexes

Jour 3 : Formulaires et HTTP

Création de formulaires

  • Utilisation des widgets de saisie
  • Validation des données

Gérer le thème graphique

  • Personnalisation du thème
  • Extension du thème Material

Création d’un formulaire d'identification

Gérer les données

  • Communication client-serveur (HTTP)
  • Modèles de données, sérialisation et génération de code

Dart pour le serveur

  • Les principales librairies Dart pour le backend
  • Création d'une API avec Shelf et Shelf Router

Implémentation d’appels HTTP à une API locale

State management

  • Les limites des StatefulWidgets
  • Présentation des principaux packages de state-management : Provider, Riverpod et Bloc
  • ViewModels, controllers et notifiers

Jour 4 : Architecture et tests

State management

  • Utiliser Provider
  • Les différents types de Providers
  • Réactivité avec les notifiers et Provider
  • Flutter Devtools

Application des principes de séparation Vue/Logique métier

Tester votre application

  • Tests unitaires
  • Tests de widgets
  • Tests d’intégration

Ajout de tests à l’application TP