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+ : déstructuration, async/await, promesses
    • Concepts de programmation fonctionnelle en JavaScript
    • Travail avec des bibliothèques tierces dans React Native

Semaine 2 : Architecture d'applications mobiles et modèles de conception

  • MVVM (Model-View-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 de l'état global

Semaine 3 : Concepts avancés de réseau

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

Semaine 4 : Réseau dans React Native

  • Intégration API avec Axios et Fetch
    • Intégration API avancée 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 communication 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, récupérations et requêtes avancées de Core Data
    • 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 et requêtes de base de données Room avancées
    • 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 la base de données
  • Firebase pour le stockage cloud (iOS et Android)
    • Intégration avec Firebase pour la gestion de 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 Redux : middlewares, Thunks et Sagas
    • Optimisation de Redux pour les performances 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 d'é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 les 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é pour le redimensionnement, la rotation et les changements d'opacité des vues

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 designs réactifs avec des requêtes multimédias et flexbox

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

  • Accès aux fonctionnalités natives de l'appareil
    • Utilisation avancée de la caméra, de la géolocalisation, du 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
  • React Native Bridge et modules natifs
    • Construction de modules natifs personnalisés pour intégrer les 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 : Tests et débogage d'applications avancées

  • Tests sur iOS (Swift)
    • Écriture de tests unitaires avec XCTest et tests d'interface utilisateur pour iOS
    • Utilisation des Instruments Xcode pour le profilage des performances et la détection des fuites de mémoire
    • Intégration continue et workflows de test avec Jenkins et CircleCI
  • Tests 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
  • Tests React Native
    • Tests unitaires avec Jest et tests de composants avec Enzyme
    • Tests de bout en bout en utilisant Detox et configurations de test automatisées
    • Profilage des performances en utilisant React Native Debugger et Flipper

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

  • Déploiement sur l'App Store (iOS)
    • Préparation de votre application pour la soumission : certificats App Store, profils d'approvisionnement et tests bêta TestFlight
    • Utilisation de Fastlane pour automatiser le déploiement des applications iOS
    • Gestion d'App Store Connect et mise en place des processus de révision d'application
  • Déploiement sur Google Play (Android)
    • Préparation de l'APK et signature pour la soumission Google Play
    • Automatisation du déploiement des applications Android avec Fastlane et Gradle
    • Utilisation de Google Play Console pour la révision d'application et les tests bêta
  • 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 canaux de publication

Semaine 12 : Projet de fin d'études (Capstone)

  • Développement du projet final
    • Concevoir et développer une application fonctionnelle complète intégrant les fonctionnalités avancées apprises tout au long du cours.
    • Mettre en œuvre une interface utilisateur/expérience utilisateur (UI/UX) personnalisée, des animations avancées, la gestion de l'état, l'intégration de modules natifs et la communication API en temps réel.
    • Optimiser l'application pour les performances et la déployer 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 de base
  • Connaissance des modèles de conception comme MVC ou MVVM et expérience avec la gestion d'état de base

Audience cible

  • Développeurs mobiles
  • Programmeurs
 420 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (4)

Cours à venir

Catégories Similaires