Prenez contact avec nous

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, et Button
    • Création d'éléments d'interface utilisateur interactifs tels que des formulaires et des boutons
    • Utilisation du composant ScrollView pour du contenu dynamique

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 useState pour 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
  • 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
  • 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)
    • 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

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
  • 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
  • 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

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
  • 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

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
 420 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (4)

Cours à venir

Catégories Similaires