Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Développer une application multiplateforme, entièrement native, utilisable sous Android et iOS
- Concevoir une architecture commune à Android et iOS
- Mettre en oeuvre les spécificités propres à Android et iOS tout en mutualisant la logique applicative
- Ecrire en langage Kotlin des fonctions pour iOS.
Prérequis
Avoir une connaissance pratique de la programmation objet, de JavaScript ou de TypeScript ou d'un langage comme Kotlin, Java, Swift, C#.
Public concerné
Tout professionnel amené́ à développer des applications mobiles multiplateformes.
Programme
Jour 1
Quelle approche multiplateforme ?
- Discussion sur les approches pour concevoir une application multiplateforme
- Interagir au travers de JavaScript
- Créer des plug-ins dans un cadre générique
- Utiliser les API d'Android ou d'iOS au travers d'un langage natif commun (Kotlin)
Environnements de développement pour KMP
- Présentation des différentes alternatives pour éditer un projet KMP
- Android Studio
- IntelliJ
- Xcode
- Fleet
Exemple de travaux pratiques (à titre indicatif)
- Installation de la dernière version de l'environnement de développement recommandé pour KMP
Créer un projet KMP
- Un projet KMP comporte trois modules principaux
- Android
- iOS
- Common
- La création cohérente et simultanée de ces trois modules suppose de s'appuyer sur des templates pré-définis
Exemples de travaux pratiques (à titre indicatif)
- Création de l'application "Hello World" avec Android Studio puis avec le Wizard de JetBrains
Kotlin pour les développeurs Swift
- Similitudes et pièges
- Déclaration compacte de fonctions
- Pattern de délégation au niveau du langage
Exemple de travaux pratiques (à titre indicatif)
- Codage des principaux concepts de Kotlin avec Kotlin Notebook
Swift pour les développeurs Kotlin
- Similitudes et pièges
- Un support complet pour les Algebraic Data Types
- Une gestion efficace des optionnels
Exemple de travaux pratiques (à titre indicatif)
- Codage des principaux concepts de Swift avec Swift Playground
Jour 2
Declarative UI
- Equation fondamentale UI = f(State)
- SwiftUI
- Jetpack Compose
- Transformer les déclarations grâce à une IA generative
Exemple de travaux pratiques (à titre indicatif)
- Création d'un compteur avec SwitUI et Compose
Comment maintenir et mettre à jour un état commun
- View stateless ou stateful
- Notion de ViewModel
- Programmation réactive
Exemple de travaux pratiques (à titre indicatif)
- Création d'une application de calcul de surface pour Android et iOS
Jour 3
Data Persistence commune
- Utiliser Room pour créer une couche d'abstraction sur SQLite
Exemple de travaux pratiques (à titre indicatif)
- Création d'une "To do List" pour Android et iOS
API REST commune
- Utiliser Ktor pour accéder aux données JSON d'un serveur, à partir d'un projet KMP
Exemple de travaux pratiques (à titre indicatif)
- Création d'une application pour Android et iOS affichant les caractéristiques des Pokémons
Data Persistence commune (suite)
- Testing
- Comment créer, configurer et exécuter des tests dans une application KMP
Exemple de travaux pratiques (à titre indicatif)
- Création d'un test commun à Android et iOS sur un jeu de données alphabétiques et numériques
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation.
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Toutes nos formations sont accessibles aux personnes en situation de handicap : les détails de l'accueil des personnes sont consultables sur la page Accueil PSH.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.