Plan du cours
Introduction
Semaine 1 : Aperçu du développement mobile
- Écosystème et plateformes mobiles
- Aperçu des systèmes d'exploitation mobiles (iOS et Android)
- Différences clés entre le développement iOS, Android et multiplateforme
- Magasins d'applications populaires (Apple App Store, Google Play Store)
- Introduction au développement natif, hybride et multiplateforme
- Natif vs Hybride vs Multiplateforme
- Avantages et défis de chaque méthode de développement
- Aperçu de Swift (pour iOS), Kotlin (pour Android) et React Native (multiplateforme)
- Comment le code se traduit pour les plateformes mobiles (JavaScript vers code natif dans React Native)
- Fondamentaux de la programmation
- Introduction aux concepts de programmation (variables, types de données, fonctions, flux de contrôle)
- Comparaison des syntaxes de Swift, Kotlin et JavaScript
- Écriture de programmes simples en utilisant Swift, Kotlin et JavaScript
- Configuration des environnements de développement
- Installation de Xcode et Android Studio
- Configuration de la CLI React Native et Expo
- Exécution d'applications "Hello World" de base sur des simulateurs et émulateurs
Semaine 2 : Introduction à Swift, Kotlin et JavaScript
- Programmation Swift pour iOS
- Variables, constantes et types de données dans Swift
- Instructions de flux de contrôle (
if,switch, boucles) - Fonctions et paramètres dans Swift
- Introduction à l'interface de Xcode et Swift Playgrounds
- Programmation Kotlin pour Android
- Variables, types de données et fonctions dans Kotlin
- Compréhension de la sécurité des nulls de Kotlin
- Flux de contrôle et structures de boucle
- Introduction à l'interface de Android Studio et Kotlin Playground
- JavaScript pour React Native
- Variables, constantes et flux de contrôle dans JavaScript
- Fonctionnalités ES6 : fonctions fléchées, littéraux modèles et déstructuration
- Écriture et exécution de programmes JavaScript de base dans React Native en utilisant Expo
Semaine 3 : Conception de l'interface utilisateur iOS
- Éléments d'interface utilisateur dans iOS
- Introduction à UIKit et SwiftUI
- Ajout et personnalisation des éléments d'interface utilisateur tels que les boutons, les étiquettes et les champs de texte
- Utilisation de l'Interface Builder pour concevoir l'interface utilisateur
- Travail avec les Storyboards et conception d'interfaces utilisateur multi-écrans
- Auto Layout et contraintes
- Compréhension du système Auto Layout
- Utilisation des contraintes pour des mises en page réactives sur différentes tailles d'écran
- Création de piles de vues et ajustement dynamique des éléments d'interface utilisateur
- Principes de base de SwiftUI
- Introduction à la conception d'interface utilisateur déclarative dans SwiftUI
- Construction de composants d'interface utilisateur simples à l'aide de SwiftUI
Semaine 4 : Conception de l'interface utilisateur Android
- Mises en page XML dans Android
- Introduction à la conception de mise en page basée sur XML
- Travail avec les mises en page courantes : LinearLayout, RelativeLayout, ConstraintLayout
- Ajout et personnalisation des éléments d'interface utilisateur : boutons, vues de texte, vues d'image
- Utilisation de ConstraintLayout pour des mises en page réactives et dynamiques
- Material Design
- Intégration des principes du Material Design (couleurs, icônes, typographie)
- Utilisation des composants Material (boutons, boutons d'action flottants, cartes)
- Mise en œuvre de thèmes et de styles pour les applications Android
Semaine 5 : Conception de l'interface utilisateur React Native
- Mise en page Flexbox dans React Native
- Compréhension de Flexbox pour la conception de mise en page réactive
- Création de mises en page basées sur des colonnes et des lignes
- Style des composants d'interface utilisateur avec les propriétés Flexbox (justifyContent, alignItems, etc.)
- Composants React Native
- Travail avec des composants principaux comme
Text,View,TextInput, etButton - Création d'éléments d'interface utilisateur interactifs tels que des formulaires et des boutons
- Utilisation du composant
ScrollViewpour du contenu dynamique
- Travail avec des composants principaux comme
Semaine 6 : Gestion des données dans iOS et Android
- Gestion des données iOS
- Utilisation de UserDefaults pour la persistance de données simple
- Introduction à Core Data pour le stockage local de données complexes
- Récupération de données depuis des API en utilisant URLSession
- Analyse de données JSON et affichage dans l'interface utilisateur
- Gestion des données Android
- Utilisation de SharedPreferences pour stocker de petites quantités de données
- Introduction à SQLite et Room Persistence Library pour la gestion des bases de données
- Récupération de données depuis des API en utilisant Retrofit
- Analyse de JSON et gestion des réponses API
Semaine 7 : Gestion de l'état et API dans React Native
- État et propriétés dans React Native
- Gestion du flux de données au sein des composants React Native
- Utilisation du hook
useStatepour gérer l'état local des composants - Transmission de données entre composants parents et enfants via des props
- Récupération de données dans React Native
- Utilisation de l'API Fetch et Axios pour effectuer des requêtes HTTP
- Affichage des données récupérées dans des listes (en utilisant
FlatList,SectionList) - Persistence des données localement en utilisant AsyncStorage dans React Native
Semaine 8 : Navigation dans iOS et Android
- Navigation iOS
- Introduction aux contrôleurs de navigation et gestion de plusieurs écrans
- Utilisation des segues pour la transition entre les contrôleurs de vue
- Transmission de données entre les contrôleurs de vue
- Mise en œuvre de TabBar et NavigationBar pour une navigation structurée
- Navigation Android
- Travail avec les Activities et les Intents pour les applications multi-écrans
- Transmission de données entre les Activities en utilisant des Bundles
- Création d'un Navigation Drawer et BottomNavigationView
- Mise en œuvre de fragments pour une navigation d'interface utilisateur flexible
Semaine 9 : Navigation dans React Native
- Principes de base de React Navigation
- Installation et configuration de React Navigation
- Utilisation du Stack Navigator pour les transitions d'écran
- Mise en œuvre du Tab Navigator et du Drawer Navigator pour une navigation complexe
- Transmission de paramètres entre les écrans et gestion de l'état de navigation
Semaine 10 : Fonctionnalités avancées
- Fonctionnalités avancées iOS :
- Core Location et cartes
- Accès à la localisation de l'appareil avec Core Location
- Affichage des cartes en utilisant MapKit
- Gestion de la géolocalisation et du suivi de la position de l'utilisateur
- Caméra et médias
- Accès à la caméra et à la bibliothèque de photos de l'appareil
- Capture et affichage des images avec UIImagePickerController
- Stockage et récupération des fichiers multimédias
- Core Location et cartes
- Fonctionnalités avancées Android
- Localisation et cartes
- Utilisation de l'API Google Maps pour afficher les cartes et la position de l'utilisateur
- Accès aux données GPS et gestion de la géolocalisation
- Caméra et médias
- Utilisation de CameraX pour capturer des photos et gérer les autorisations de la caméra
- Affichage des images et gestion du stockage multimédia
- Localisation et cartes
- Fonctionnalités avancées React Native
- Cartes React Native
- Intégration des cartes en utilisant
react-native-maps - Gestion des services basés sur la localisation (géolocalisation, cartographie d'itinéraire)
- Intégration des cartes en utilisant
- Accès à la caméra et aux médias
- Utilisation de la bibliothèque React Native Camera pour capturer des photos
- Accès au stockage multimédia de l'appareil et gestion des fichiers
- Cartes React Native
Semaine 11 : Débogage et test
- Débogage et test iOS
- Utilisation du débogueur Xcode
- Définition des points d'arrêt et inspection des variables dans Xcode
- Utilisation de la console pour le débogage en temps réel
- Problèmes de débogage courants et comment les résoudre
- Tests unitaires dans iOS
- Écriture et exécution de tests unitaires en utilisant le framework XCTest
- Simulation d'objets et test des composants d'interface utilisateur
- Utilisation du débogueur Xcode
- Débogage et test Android
- Utilisation de Logcat dans Android Studio
- Journalisation et analyse des erreurs en utilisant Logcat
- Débogage des applications Android avec des points d'arrêt
- Tests unitaires dans Android
- Écriture de tests unitaires en utilisant JUnit
- Test des composants d'interface utilisateur Android avec Espresso
- Utilisation de Logcat dans Android Studio
- Débogage et test React Native
- Outils de débogage React Native
- Utilisation de Chrome DevTools et React Native Debugger pour le débogage en temps réel
- Journalisation de la console et inspection des requêtes réseau
- Tests unitaires dans React Native
- Écriture de tests unitaires en utilisant Jest et Enzyme
- Test des composants React Native et gestion des cas de test
- Outils de débogage React Native
Semaine 12 : Déploiement de l'application et projet de fin d'études
- Déploiement et distribution
- Soumission de l'application iOS sur l'App Store
- Préparation de votre application pour la distribution (icônes, certificats, profils de provisionnement)
- Utilisation d'App Store Connect pour soumettre l'application à la revue
- Utilisation de TestFlight pour les tests bêta
- Soumission de l'application Android sur le Play Store
- Préparation de l'APK et signature de l'application pour la distribution
- Utilisation de Google Play Console pour la soumission de l'application et le suivi
- Compréhension des politiques et directives du Play Store
- Soumission de l'application iOS sur l'App Store
- Développement du projet de fin d'études
- Développement du projet final
- Construction d'une application entièrement fonctionnelle de votre choix
- Intégration de fonctionnalités avancées telles que les appels API, la navigation, les médias et la localisation
- Présentation et démonstration de l'application finale aux pairs et aux instructeurs
- Développement du projet final
Résumé et prochaines étapes
Pré requis
- Compréhension de base des concepts de programmation
- Connaissances de base en JavaScript
Audience
- Développeurs mobiles
- Programmateurs
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