Prenez contact avec nous

Plan du cours

Introduction

Semaine 1 : Concepts avancés de Swift, Kotlin et JavaScript

  • Swift (iOS)
    • Fonctions avancées : Fermetures (closures), capture de valeurs, fonctions d'ordre supérieur
    • Programmation orientée protocole et génériques
    • Gestion de la mémoire avec ARC (Automatic Reference Counting)
  • Kotlin (Android)
    • Fonctions d'extension et bibliothèque standard Kotlin
    • Coroutines pour la programmation asynchrone
    • Classes scellées, énumérations et gestion avancée des erreurs
  • JavaScript (React Native)
    • Fonctionnalités avancées ES6+ : Destructuration, async/await, promesses
    • Concepts de programmation fonctionnelle en JavaScript
    • Travail avec des bibliothèques tierces dans React Native

Semaine 2 : Architecture d'application mobile et motifs de conception

  • MVVM (Modèle-Vue-ViewModel) pour iOS et Android
    • Compréhension de l'architecture MVVM pour iOS (Swift) et Android (Kotlin)
    • Mise en œuvre de ViewModels et observation des données avec LiveData (Android) et Combine (iOS)
    • Programmation réactive avec RxSwift et RxKotlin
  • Architecture basée sur les composants dans React Native
    • Compréhension des cycles de vie des composants et des hooks
    • Meilleures pratiques pour la gestion de l'état et des props à grande échelle
    • Utilisation de l'API React Context pour la gestion globale de l'état

Semaine 3 : Concepts avancés de réseau

  • Réseau sur iOS (Swift)
    • Utilisation de URLSession pour des requêtes réseau personnalisées
    • Appels d'API REST avancés et gestion des erreurs
    • Travail avec Codable et analyse JSON
    • Meilleures pratiques pour les communications API sécurisées (épingle SSL, OAuth)
  • Réseau sur Android (Kotlin)
    • Retrofit pour effectuer des appels d'API et gérer les réponses
    • Gestion avancée des erreurs d'API et mécanismes de nouvelle tentative
    • Utilisation de Gson ou Moshi pour l'analyse JSON
    • Communications sécurisées via HTTPS et authentification OAuth

Semaine 4 : Réseau dans React Native

  • Intégration d'API avec Axios et Fetch
    • Intégration avancée d'API avec Axios et Fetch
    • Stratégies de gestion des erreurs et nouvelles tentative dans les requêtes réseau
    • Travail avec l'authentification (JWT, OAuth)
  • WebSockets et communications en temps réel
    • Introduction aux WebSockets dans React Native
    • Construction de fonctionnalités de chat ou de notification en temps réel avec des connexions WebSocket
    • Gestion des connexions persistantes et des mises à jour de données

Semaine 5 : Techniques avancées de persistance des données

  • Core Data et SQLite (iOS)
    • Relations avancées Core Data, récupération et requêtes
    • Utilisation de SQLite directement pour les applications iOS et gestion des connexions de base de données
    • Gestion efficace des données et optimisation
  • Room Persistence et SQLite (Android)
    • Relations de base de données Room avancées et requêtes
    • Gestion de grands ensembles de données et optimisation des performances de la base de données
    • Utilisation de ProGuard pour sécuriser les structures de base de données
  • Firebase pour le stockage cloud (iOS et Android)
    • Intégration avec Firebase pour la gestion de la base de données en temps réel
    • Meilleures pratiques pour la synchronisation des données locales et cloud

Semaine 6 : Gestion avancée de l'état dans React Native

  • Redux pour la gestion de l'état
    • Concepts avancés de Redux : Middlewares, Thunks et Sagas
    • Optimisation de Redux pour la performance et l'évolutivité
  • Recoil pour la gestion de l'état
    • Introduction à Recoil : Une alternative plus flexible à Redux
    • Gestion de l'état à grande échelle à travers les composants
    • Mises à jour d'état efficaces et gestion de l'état atomique

Semaine 7 : Animations avancées sur iOS et Android

  • iOS (Swift)
    • Core Animation : Animation de vues, calques et transitions
    • UIKit Dynamics : Création d'animations basées sur la physique
    • Transitions et animations personnalisées entre contrôleurs de vue
  • Android (Kotlin)
    • MotionLayout pour créer des animations complexes
    • TransitionManager et transitions d'éléments partagés
    • Animations de propriétés pour la mise à l'échelle, la rotation et les changements d'opacité de vue

Semaine 8 : Animations et UI/UX dans React Native

  • Animations React Native
    • Utilisation de l'API Animated et Reanimated pour des animations complexes
    • Mise en œuvre de gestes et d'interactions à l'aide de React Native Gesture Handler
    • Meilleures pratiques pour des animations performantes dans React Native
  • Création de composants UI personnalisés
    • Construction de composants réutilisables et personnalisables dans React Native
    • Mise en œuvre de conceptions réactives avec des requêtes multimédias et flexbox

Semaine 9 : Intégration de modules natifs et fonctionnalités de l'appareil

  • Accès aux fonctionnalités natives de l'appareil
    • Utilisation avancée de l'appareil photo, de la géolocalisation, Bluetooth et des capteurs
    • Création de modules natifs en Swift et Kotlin pour l'intégration React Native
    • Intégration d'ARKit pour la réalité augmentée sur iOS
    • Intégration de CameraX et ARCore pour la réalité augmentée sur Android
  • Pont React Native et modules natifs
    • Construction de modules natifs personnalisés pour intégrer des fonctionnalités spécifiques à la plateforme
    • Création de ponts Java et Swift pour les applications React Native
    • Meilleures pratiques pour la gestion du code natif dans un environnement multiplateforme

Semaine 10 : Test et débogage d'applications avancées

  • Test sur iOS (Swift)
    • Écriture de tests unitaires avec XCTest et tests d'interface utilisateur pour iOS
    • Utilisation d'Xcode Instruments pour le profilage de performance et la détection des fuites de mémoire
    • Intégration continue et workflows de test avec Jenkins et CircleCI
  • Test sur Android (Kotlin)
    • Tests JUnit et Espresso avancés pour les applications Android
    • Profilage des performances et identification des goulots d'étranglement à l'aide d'Android Profiler
    • Utilisation de Firebase Test Lab pour les tests automatisés sur plusieurs appareils
  • Test React Native
    • Tests unitaires avec Jest et tests de composants avec Enzyme
    • Tests de bout en bout (end-to-end) avec Detox et configurations de test automatisées
    • Profilage des performances à l'aide du débogueur React Native et Flipper

Semaine 11 : Déploiement d'applications et intégration continue

  • Déploiement sur App Store (iOS)
    • Préparation de votre application pour la soumission : certificats App Store, profils d'intégration et bêta-test via TestFlight
    • Utilisation de Fastlane pour automatiser le déploiement d'applications iOS
    • Gestion d'App Store Connect et mise en place de processus de revue d'applications
  • Déploiement sur Google Play (Android)
    • Préparation de l'APK et signature pour la soumission à Google Play
    • Automatisation du déploiement d'applications Android avec Fastlane et Gradle
    • Utilisation de Google Play Console pour la revue d'applications et les bêta-tests
  • Mise en place de pipelines CI/CD
    • Configuration de Jenkins, GitHub Actions ou CircleCI pour des pipelines de build et de déploiement automatisés
    • Utilisation de Fastlane pour les workflows CI/CD iOS et Android
    • Meilleures pratiques pour la gestion des versions, des numéros de build et des chaînes de_release_

Semaine 12 : Projet terminal

  • Développement du projet final
    • Conception et développement d'une application entièrement fonctionnelle intégrant les fonctionnalités avancées apprises tout au long du cours.
    • Mise en œuvre d'interfaces utilisateur/expériences utilisateur (UI/UX) personnalisées, d'animations avancées, de gestion de l'état, d'intégration de modules natifs et de communications API en temps réel.
    • Optimisation de l'application pour la performance et déploiement sur l'App Store et Google Play.

Résumé et prochaines étapes

Pré requis

  • Bonne compréhension des concepts de programmation, en particulier en Swift, Kotlin et JavaScript.
  • Expérience préalable dans la création d'applications iOS, Android ou React Native basiques.
  • Connaissance des motifs de conception tels que MVC ou MVVM et expérience avec la gestion basique de l'état.

Audience

  • Développeurs mobiles
  • Programmeurs
 420 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (4)

Cours à venir

Catégories Similaires