Plan du cours
Introduction
Semaine 1 : Vue d'ensemble de Mobile Development
- Ecosystème et plateformes mobiles
- Vue d'ensemble des systèmes d'exploitation mobiles (iOS et Android)
- Principales différences entre iOS, Android et le développement 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 Natif (multiplateforme)
- Comment le code s'adapte aux plateformes mobiles (JavaScript vers le code natif dans React Native)
- Programming Principes fondamentaux
- Introduction aux concepts de programmation (variables, types de données, fonctions, flux de contrôle)
- Comparaison des syntaxes Swift, Kotlin et JavaScript
- Écrire des programmes simples en utilisant Swift, Kotlin et JavaScript
- Mise en place des environnements de développement
- Installation de Xcode et Android Studio
- Configurer React Native CLI et Expo
- Exécuter des applications de base "Hello World" sur des simulateurs et des émulateurs
Semaine 2 : Introduction à Swift, Kotlin et JavaScript
- Swift Programming 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 aux Swift terrains de jeu
- Kotlin Programming pour Android
- Variables, types de données et fonctions dans Kotlin (en anglais)
- Comprendre la sécurité des nullités dans Kotlin.
- Flux de contrôle et structures de boucle
- Introduction à l'interface du Studio Android et au terrain de jeu Kotlin.
- [Script pour React Native
- Variables, constantes et flux de contrôle dans JavaScript
- Fonctionnalités ES6 : fonctions fléchées, modèles littéraux et déstructuration
- Écrire et exécuter des programmes JavaScript de base dans React Native en utilisant Expo
Semaine 3 : iOS Conception de l'interface utilisateur
- Interface utilisateur Element en iOS
- Introduction à UIKit et Swift UI
- Ajouter et personnaliser des éléments d'interface utilisateur tels que des boutons, des étiquettes et des champs de texte
- Utiliser Interface Builder pour concevoir l'interface utilisateur
- Travailler avec des Storyboards et concevoir des interfaces utilisateur multi-écrans
- Mise en page automatique et contraintes
- Comprendre le système de mise en page automatique
- Utiliser les contraintes pour des mises en page réactives sur différentes tailles d'écran
- Créer des vues en pile et ajuster dynamiquement les éléments de l'interface utilisateur
- SwiftNotions d'interface utilisateur
- Introduction à la conception déclarative de l'interface utilisateur dans SwiftUI
- Construire des composants d'interface utilisateur simples en utilisant SwiftUI
Semaine 4 : Android Conception de l'interface utilisateur
- XML Modèles en Android
- Introduction à la conception d'interfaces basées sur XML.
- Travailler avec des mises en page courantes : LinearLayout, RelativeLayout, ConstraintLayout
- Ajout et personnalisation d'éléments d'interface utilisateur : boutons, vues de texte, vues d'image
- Utilisation de ConstraintLayout pour les mises en page réactives et dynamiques
- Conception matérielle
- Intégrer les principes du Material Design (couleurs, icônes, typographie)
- Utilisation des composants matériels (boutons, boutons d'action flottants, cartes)
- Implémenter des thèmes et des styles pour les applications Android.
Semaine 5 : React Conception de l'interface utilisateur native
- React Mise en page Flexbox native
- Comprendre Flexbox pour une mise en page réactive
- Créer des mises en page basées sur des colonnes et des lignes
- Styliser les composants de l'interface utilisateur avec les propriétés Flexbox (justifyContent, alignItems, etc.)
- React Composants natifs
- Travailler avec des composants de base tels que
Text
,View
,TextInput
etButton
- Créer des éléments d'interface utilisateur interactifs tels que des formulaires et des boutons
- Utiliser le composant
ScrollView
pour un contenu dynamique
- Travailler avec des composants de base tels que
Semaine 6 : Traitement des données dans iOS et Android
- iOS Traitement des données
- Utilisation de UserDefaults pour la persistance de données simples
- Introduction à Core Data pour le stockage local de données complexes
- Récupération de données à partir d'API à l'aide d'URLSession
- Analyse des données JSON et affichage dans l'interface utilisateur
- Android Traitement des données
- Utilisation de SharedPreferences pour le stockage 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 à partir d'API à l'aide de Retrofit
- Analyse de JSON et traitement des réponses d'API
Semaine 7 : React Native State Management et APIs
- État et accessoires dans React Native
- Gérer le flux de données dans les composants React Native
- Utiliser le crochet
useState
pour gérer l'état des composants locaux - Transmettre des données entre les composants parents et enfants via les props
- Récupérer des données dans React Native
- Utilisation de l'API Fetch et d'Axios pour effectuer des requêtes HTTP
- Affichage des données récupérées dans des listes (à l'aide de
FlatList
,SectionList
) - Persistance des données localement en utilisant AsyncStorage en React Native
Semaine 8 : Navigation dans iOS et Android
- Navigation iOS
- Introduction aux contrôleurs de navigation et à la gestion d'écrans multiples
- Utilisation de segues pour passer d'un contrôleur de vue à l'autre
- Transmettre des données entre les contrôleurs de vue
- Implémentation de TabBar et NavigationBar pour une navigation structurée
- Android Navigation
- Travailler avec des Activities et des Intents pour les applications multi-écrans
- Transmettre des données entre Activities à l'aide de Bundles
- Créer un tiroir de navigation et un BottomNavigationView
- Implémentation de fragments pour une navigation flexible de l'interface utilisateur
Semaine 9 : Navigation dans React Native
- Les bases de la React navigation
- Installation et configuration de React Navigation
- Utiliser Stack Navigator pour les transitions d'écran
- Implémentation de Tab Navigator et Drawer Navigator pour une navigation complexe
- Passer des paramètres entre les écrans et gérer l'état de la navigation
Semaine 10 : Fonctionnalités avancées
- iOS Fonctionnalités avancées :
- Emplacement principal et cartes
- [Localisation de l'appareil avec Core Location
- Affichage de cartes à l'aide de MapKit
- Gestion de la géolocalisation et du suivi de l'emplacement de l'utilisateur
- Appareil photo et médias
- [Appareil photo de l'appareil et photothèque
- Capturer et afficher des images avec UIImagePickerController
- Stockage et récupération des fichiers multimédias
- Emplacement principal et cartes
- Android Fonctionnalités avancées
- Localisation et cartes
- Utilisation de l'API Google Maps pour afficher des cartes et la position de l'utilisateur
- [Acquisition de données GPS et gestion de la géolocalisation
- Appareil photo et médias
- Utilisation de CameraX pour capturer des photos et gérer les autorisations de l'appareil photo
- Affichage des images et gestion du stockage des médias
- Localisation et cartes
- React Fonctionnalités avancées natives
- React Cartes natives
- Intégration de cartes à l'aide de
react-native-maps
- Gestion des services basés sur l'emplacement (géolocalisation, cartographie des itinéraires)
- Intégration de cartes à l'aide de
- Accès à la caméra et aux médias
- Utiliser la bibliothèque React Native Camera pour capturer des photos
- Stockage des médias sur le périphérique Accessing et gestion des fichiers
- React Cartes natives
Semaine 11 : Débogage et tests
- iOS Débogage et test
- Utilisation du débogueur Xcode
- Définir des points d'arrêt et inspecter les variables dans Xcode
- Utiliser 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
- Rédiger et exécuter des tests unitaires à l'aide du cadre XCTest
- Mocker des objets et tester les composants de l'interface utilisateur
- Utilisation du débogueur Xcode
- Android Débogage et tests
- Utilisation de Logcat dans Android Studio
- Enregistrer et analyser les erreurs à l'aide de Logcat
- Débogage des applications Android avec des points d'arrêt
- Tests unitaires dans Android
- Écrire des tests unitaires avec JUnit
- Tester les composants de l'interface utilisateur Android avec Espresso
- Utilisation de Logcat dans Android Studio
- React Débogage et test en mode natif
- React Outils de débogage natifs
- Utiliser Chrome DevTools et React Native Debugger pour le débogage en temps réel
- Journaux de la console et inspection des requêtes réseau
- Tests unitaires dans React Native
- Écrire des tests unitaires en utilisant Jest et Enzyme
- Tester les composants React Native et gérer les cas de test
- React Outils de débogage natifs
Semaine 12 : Déploiement de l'application et projet de fin d'études
- Déploiement et distribution
- iOS Soumission à l'App Store
- Préparer votre application pour la distribution (icônes, certificats, profils de provisionnement)
- Utiliser App Store Connect pour soumettre l'application pour examen
- Utilisation de TestFlight pour les tests bêta
- Android Soumission au Play Store
- Préparation de l'APK et signature de l'application en vue de sa distribution
- Utiliser Google Play Console pour la soumission et le suivi des applications
- Comprendre les politiques et les directives du Play Store
- iOS Soumission à l'App Store
- Développement du projet Capstone
- Développement du projet final
- Création d'une application entièrement fonctionnelle de votre choix
- Incorporer des 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 à des pairs et à des instructeurs.
- Développement du projet final
Résumé et prochaines étapes
Pré requis
- Compréhension de base des concepts de programmation
- Connaissance de base de JavaScript
Public
- Développeurs mobiles
- Programmeurs
Nos clients témoignent (5)
Edward est un facilitateur hors pair
Zibusiso Ncube - Agricatural Research Council
Formation - Ionic 4 and Angular for Developers
Traduction automatique
Mon moment préféré est la séance de questions-réponses avec Sir. Jose. Il est très compétent et connaît la réponse à nos questions.
John Henry - Toyota Motor Philippines
Formation - .NET MAUI (Intermediate)
Traduction automatique
Peut-être que plus d'exercices seraient mieux pour l'apprentissage, mais le temps était trop court.
Gianpiero Arico' - Urmet Spa
Formation - Embedded Linux Systems Architecture
Traduction automatique
Le savoir de Miguel sur le sujet était vaste. Il a rendu la formation facile à comprendre et le déroulement était équilibré ; ajoutant de nouvelles fonctionnalités à chaque section au fur et à mesure des besoins. Il a abordé tout ce qui avait été demandé et a répondu en détail à chacune des questions. C'était une expérience très agréable.
Paul Coaton - SEMPCheck Services
Formation - Flutter Development Bootcamp with Dart
Traduction automatique
Le formateur était enthousiaste, gentil et passionné par le sujet
Isaac Murphy - Royal New Zealand Airforce
Formation - Build Native iOS and Android Apps with Flutter
Traduction automatique