Plan du cours

Introduction

Semaine 1 : Avancé Swift, Kotlin, et Java Concepts de script

  • Swift (iOS)
    • Fonctions avancées : Fermetures, 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 Kotlin bibliothèque standard
    • Coroutines pour la programmation asynchrone
    • Classes scellées, enums et gestion avancée des erreurs
  • JavaScript (React Native)
    • Fonctionnalités ES6+ avancées : Destructuration, async/await, promesses
    • Concepts de programmation fonctionnelle dans JavaScript
    • Travailler avec des bibliothèques tierces dans React Native

Semaine 2 : Architecture des applications mobiles et Design Patterns

  • MVVM (Modèle-Vue-VueModèle) pour iOS et Android
    • Comprendre l'architecture MVVM pour iOS (Swift) et Android (Kotlin)
    • Implémentation des ViewModels et observation des données avec LiveData (Android) et Combine (iOS)
    • Programmation React avec RxSwift et RxKotlin
  • Architecture basée sur les composants dans React Native
    • Comprendre les cycles de vie des composants et les crochets
    • Meilleures pratiques pour gérer l'état et les accessoires à l'échelle
    • Utiliser l'API React Context pour la gestion globale de l'état

Semaine 3 : Concepts avancés Networking

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

Semaine 4 : Networking en React Native

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

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

  • Core Data et SQLite (iOS)
    • Relations avancées avec Core Data, récupération et requêtes
    • Utilisation directe de SQLite pour les applications iOS et gestion des connexions aux bases de données
    • Manipulation efficace des données et optimisation
  • Persistance de la salle et SQLite (Android)
    • Relations et requêtes avancées avec la base de données Room
    • 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
  • Utilisation de Firebase pour le stockage dans le nuage (iOS et Android)
    • Intégration avec Firebase pour la gestion des bases de données en temps réel
    • Meilleures pratiques pour synchroniser les données locales et dans le nuage

Semaine 6 : État avancé Management dans React Natif

  • Redux pour l'état Management
    • Concepts avancés Redux : Middlewares, Thunks et Sagas
    • Optimiser Redux pour la performance et l'extensibilité
  • Recoil pour l'État Management
    • 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 : Animation avancés dans iOS et Android

  • iOS (Swift)
    • Core Animation : Animer les vues, les couches et les 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 la mise à l'échelle de la vue, la rotation et les changements d'alpha

Semaine 8 : Animations et UI/UX dans React Native

  • React Native Animations
    • Utiliser l'API Animated et Reanimated pour des animations complexes
    • Implémentation de gestes et d'interactions avec React Native Gesture Handler
    • Meilleures pratiques pour des animations performantes en React Native
  • Création de composants d'interface utilisateur personnalisés
    • Construire des composants réutilisables et personnalisables dans React Native
    • Implémenter des designs réactifs avec media queries et flexbox

Semaine 9 : Intégrer les modules natifs et les fonctionnalités des appareils

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

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

  • Tester en iOS (Swift)
    • Écrire des tests unitaires avec XCTest et des tests d'interface utilisateur pour iOS
    • Utiliser Xcode Instruments pour le profilage des performances et les fuites de mémoire
    • Intégration continue et flux de tests avec Jenkins et CircleCI
  • Tester dans Android (Kotlin)
    • Tests avancés de JUnit et Espresso pour les applications Android
    • Profiler les performances et identifier les goulots d'étranglement avec Android Profiler
    • Utilisation de Firebase Test Lab pour des tests automatisés sur plusieurs appareils
  • Tests natifs React
    • Tests unitaires avec Jest et tests de composants avec Enzyme
    • Tests de bout en bout à l'aide de Detox et de configurations de test automatisées
    • Profilage des performances à l'aide de React Native Debugger et Flipper

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

  • Déploiement dans l'App Store (iOS)
    • Préparer votre application pour la soumission : Certificats App Store, profils de provisionnement et test bêta TestFlight
    • Utiliser Fastlane pour automatiser le déploiement d'applications iOS.
    • Gérer App Store Connect et mettre en place des processus d'évaluation des applications
  • Déploiement de Google Play (Android)
    • Préparer l'APK et le signer pour le soumettre à Google Play
    • Automatiser le déploiement de l'application Android avec Fastlane et Gradle.
    • Utilisation de la console Google Play pour l'examen des applications et les tests bêta
  • Mise en place de pipelines CI/CD
    • Configurer Jenkins, GitHub Actions ou CircleCI pour des pipelines de construction et de déploiement automatisés
    • Utiliser Fastlane pour les flux de travail CI/CD iOS et Android
    • Meilleures pratiques pour gérer les versions, les numéros de build et les canaux de diffusion

Semaine 12 : Projet de fin d'études

  • Développement du projet final
    • Concevoir et développer une application entièrement fonctionnelle qui intègre les fonctionnalités avancées apprises tout au long du cours.
    • Implémenter une interface utilisateur/UX personnalisée, des animations avancées, la gestion des états, l'intégration de modules natifs et la communication API en temps réel.
    • Optimiser les performances de l'application et la déployer sur l'App Store et Google Play.

Résumé et prochaines étapes

Pré requis

  • Une solide compréhension des concepts de programmation, en particulier en Swift, Kotlin, et JavaScript
  • Expérience préalable dans la création d'applications natives de base iOS, Android ou React
  • Connaissance des modèles de conception tels que MVC ou MVVM et expérience de la gestion d'état de base

Audience

  • Développeurs mobiles
  • Programmeurs
 420 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (5)

Cours à venir

Catégories Similaires