Création d'une application mobile en utilisant Flutter

Tags :
  • POK
  • 2023-2024
  • temps 2
  • Développement mobile
  • Flutter
  • Dart
Auteurs :
  • Samy Diafat

Initiation au développement mobile à l'aide de Flutter

MON intermédiaire

Ce MON nécessite quelques prérequis :

  • avoir des notions de programmation orientée objet
  • avoir un pc qui tient la route pour émuler une téléphone
  • du courage

Api key

Objectifs et backlog produit

L'objectif

Je souhaiterais m'initier au développement d'application mobile, et pour ce faire j'ai choisi d'utiliser Flutter à travers le langage Dart.

Qu'est ce que Flutter ? 🤔

Flutter, créé par Google, est un framework open-source conçu pour simplifier et accélérer le développement d'applications mobiles multiplateformes. La particularité de Flutter réside dans son approche de création d'interfaces utilisateur riche et réactive, permettant aux développeurs de construire des applications qui offrent une expérience utilisateur fluide et cohérente, que ce soit sur iOS, Android, ou même web.

L'un des principaux avantages de Flutter réside dans son architecture de widget. Chaque élément de l'interface utilisateur, qu'il s'agisse de boutons, de mises en page, ou d'animations, est un widget.

Openclassroom_accueil

Cette approche modulaire simplifie la création et la personnalisation des interfaces tout en facilitant la maintenance du code. De plus, Flutter propose une vaste bibliothèque de widgets prêts à l'emploi, facilitant ainsi la création d'applications esthétiquement attrayantes et fonctionnelles.

Openclassroom_accueil

Un autre atout majeur de Flutter est sa rapidité de développement. Grâce à la fonctionnalité de rechargement "hot reload", les développeurs peuvent voir les modifications apportées à leur code en temps réel, accélérant ainsi le processus de test et d'itération. Cette caractéristique, combinée à la facilité de partage de code entre les plateformes, fait de Flutter un choix idéal pour les projets nécessitant une mise sur le marché rapide et une maintenance efficace.

Qu'est ce que Dart ? 🤔

Dart est le langage de programmation qui accompagne Flutter. Également développé par Google, Dart est un langage moderne, orienté objet, offrant une syntaxe propre et concise. Conçu pour être à la fois performant et facile à apprendre, Dart s'intègre harmonieusement avec Flutter pour permettre aux développeurs de créer des applications mobiles robustes et élégantes.

La compilation just-in-time (JIT) de Dart offre une exécution rapide du code pendant le développement, tandis que la compilation anticipée (AOT) garantit des performances optimales une fois l'application déployée.

En résumé, Dart et Flutter forment un tandem puissant, offrant aux développeurs une solution complète pour la création d'applications mobiles modernes. La combinaison de la facilité de développement, de la rapidité d'exécution, et de la capacité à produire des interfaces utilisateur exceptionnelles fait de Flutter avec Dart un choix de prédilection pour ceux qui cherchent à exceller dans le domaine du développement mobile multiplateforme.

Backlog

Sprint 1

Intitulé Complexité Temps estimé Temps réalisé
- Installer Flutter et mettre en place un émulateur Android
- M'initier au langage Dart à travers le tutoriel Codelabs
- Regarder des tutoriels pour débuter sur Flutter
- Rechercher un petit projet sympas à faire sur youtube
- Réaliser ce projet sympas
3
3
2
1
5
1h
1h30
2h
30 mins
1h
2h30
1h30
2h
30 mins
2h

(Merci Sarah pour le beau tableau 😎)

Retour et ajustement du Sprint 1

J'ai dédié environ 8h30 de mon temps sur le premier Sprint, mais je pense avoir commis une erreur qui m'a fait perdre pas mal de temps. En effet, j'ai voulu avancer petit à petit sur mon POK en installant tout l'environnement nécessaire au développement avec Flutter dans un premier temps, puis en espaçant mes sessions de travail afin d'avoir une certaine continuité. J'ai justement trop espacé ces sessions et j'avais donc du mal à replonger dans le logiciel et les formations que je suivais du fait que je sois purement débutant (d'autant plus que l'installation de tout l'environnement de développement m'a joué des tours)

Le petit projet sympas que je souhaite réaliser doit ressembler à cela :

Openclassroom_accueil

Et voici ce que j'ai obtenu pour l'instant :

Openclassroom_accueil

Et voici la vidéo youtube que j'ai suivi : petit projet sympas

Sprint 2

Intitulé Complexité Temps estimé Temps réalisé
- Terminer mon petit projet sympas
- Commencer un projet un peu plus conséquent
3
5
2h
10h
3h
8h

Pour le second Sprint, je souhaite terminer mon premier projet Flutter. Je souhaiterais ensuite rejoindre Monsieur Assane Diouf sur son fameux projet CupCare ou démarrer un projet en solo si cela n'est pas possible.

Ce qu'il s'est passé durant le Sprint 2

Durant le deuxième Sprint, j'ai tout d'abord terminé mon petit projet solo :

Openclassroom_accueil

Assane a accepté de me laisser travailler avec lui sur son projet d'application CupCare. Je vous invite à aller voir sa superbe application !

Voici comment nous avons travaillé ensemble.

J'ai tout d'abord eu accès au Figma de son projet ainsi qu'au code mis sur github. Nous avons ensuite discuté de la répartition des tâches afin d'être efficace. Voici le Backlog du projet pour le Sprint 2 :