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
Nos clients témoignent (4)
Tout va bien.
Adrian Rybka - SEOyon
Formation - Flutter Development Bootcamp with Dart
Traduction automatique
Informations supplémentaires très utiles
Grzegorz - Comp S.A.
Formation - BLoC Pattern
Traduction automatique
Développer l'application d'authentification utilisateur et l'activité Kahoot (j'ai veillé à bien assimiler les cours de formation :) et c'est amusant !)
Jhoanne - Pag-IBIG Fund
Formation - .NET MAUI Fundamentals
Traduction automatique
Sa connaissance et sa patience.
Chrisna - Agricatural Research Council
Formation - Ionic 4 and Angular for Developers
Traduction automatique