Description
Le mobile représente plus de 80% des medias utilisés par les utilisateurs, grand public ou professionnel, pour la consultation d’information, l’interaction avec un système d’information (banque, assurance, messagerie instantanée, …).
Savoir développer des applications mobiles, tirant partie des capacités offertes par le tactile, et les sous- systèmes (Appareil photo, GPS, Accéléromètre, …) est un atout considérable pour le développement de l’entreprise.
A l’issue de la formation le stagiaire sera capable de créer des applications mobiles multiplateformes à partir d’un seul code source.
Objectifs
- Comprendre les principes du développement mobile multiplateforme
- Découvrir les framework de développement mobile les plus utilisés
- Concevoir une application mobile
- Développer une interface utilisateur responsive et interactive
- Tester l'application sur différents appareils
Récapitulatif
Public
Développeurs, chefs de projet
Prérequis
Disposer des connaissances du web, de HTML, de CSS, du Javascript et du XML
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Comprendre les principes de développement mobile multiplateforme
- Découvrir principes du développement mobile,
- Comprendre les différences entre développement natif, développement hybride, PWA
- Découvrir les différents frameworks de développement mobile
- Exemples de travaux pratiques : à partir de cas d'utilisation, être capable d'identifier la meilleure stratégie de développemen ainsi que les outils à utiliser. Prompter à l'aide d'une IA en reformulant la demande initiale afin d'aider à définir la meilleure stratégie.
Découvrir les framework de développement mobile les plus utilisés
- ReactNative, Expo le framework hybride « cross compilation » optimisé pour la conception JS,
- Flutter, une initiative low-code basé sur un langage spécifique et une approche descriptive,
- .Net MAUI (Multiplatform App UI) de Microsoft en remplacement de Xamarin,
- Ionic / Capacitor la solution hybride « cross platorm »
- PWA (Progressive Web Apps), une alternative « hybride » 100% web à prendre en considération
- IA génératives, quels usages aujourd'hui pour le développement mobile
- Exemples de travaux pratiques : à partir d'un base code existant sur l'un ou l'autre des frameworks présentés, modifier légèrement le code afin de produire le résultat souhaité.
Mettre en place un environnement de développement mobile
- Choisir et installer un éditeur de code performant,
- Choisir et installer un SDK performant,
- Configurer ngrok pour simuler localement des appels HTTP sécurisés
- Installer un gestionnaire de dépendances (npm, yarn, …) et configurer un build
- Exemples de travaux pratiques : Identifier les ressources nécessaires, installer et configurer l'environnement de travail.
Concevoir une application mobile
- Présenter les patterns MVC et MVVM
- Comprendre la gestion des mouvements (hand gesture), les éléments d'interfaces mobiles (pop-up, contextual menu, buttons, chips, stepper, …)
- Exemples de travaux pratiques : Réalisation d'une interface simple d'affichage de posts (i.e LinkedIn)
Développer une interface utilisateur responsive et interactive
- Mettre en œuvre une interface « mobile first »,
- Choisir la présentation la plus adaptée en fonction de la problématique (side menu, tabs, …)
- Respecter les règles d'utilisation du mobile (back button, cancellation, validation, …)
- Exemples de travaux pratiques : Réaliser une IHM à partir de Figma afin de valider les différentes scènes de l'application.
Intégrer les fonctionnalités principales
- Natif ou web based, mettre en place une architecture solide pour gérer les différents cas
- Utiliser l'APN,
- Mettre en place une base de données locale : IndexedDB, PouchDB/CouchDB,
- Consommer des API et comprendre le mode asynchrone
- Exemples de travaux pratiques : A partir de l'APN et du GPS créer une petite application de galerie géolocalisée
Gérer les spécificités multi plateformes
- Utiliser le « physical back button » spécifique Android,
- Gérer efficacement les notifications « push »
- Respecter les RFC iOS
- Manifest android et plist iOS
- Exemples de travaux pratiques : Gérer la top bar de l'application pour les activités popup.
Tester l'application sur différents appareils
- Configurer un émulateur Android à partir d'Android Studio,
- Configurer un émulateur à partir de XCode sur MacOS
- Utiliser Chrome et un appareil physique pour debugger
- Exemples de travaux pratiques : Mettre en place un émulateur, installer le build d'une APK et tester différents scenarii
Bonnes pratiques, déploiement
- Définir un fallback en cas de coupure réseau,
- Veiller au code asynchrone et gérer les timeouts
- Utiliser lighthouse ou des outils Devops pour valider votre vos applications (build, poids du package final, …)
- Sensibilisation aux bonnes pratiques de sécurité avec l'analyse du code source et des dépendances
- Exemples de travaux pratiques : Créer un service en charge de veiller sur l'état du réseau de votre application
Projet final
A partir d'un cahier des charges simples et de quelques User Stories, vous allez mettre en place et coder votre application.