Développement Mobile Natif 2 (iOS)

Développement Mobile Natif 2 (iOS)
Enseignant:
Email:
Durée totale du cours: 22.5 H
Semestre : 5 Ingénierie des Services Télécom (IST)
Nombre de crédits : 2
Modules

spécialisés

Modules de

base

Sciences et techniques de

l’ingénierie

Préparation à la carrière professionnelle
    X  

 

Nombre d’heures Activités hors classe  
22.5 18  
cours TD TP
    22.5
Code  : GTI5L03    Développement Mobile Natif 2 (iOS)

Sommaire :

Ce cours avancé de développement mobile natif se concentre sur la plateforme iOS d’Apple. Il vise à fournir aux étudiants en génie des télécommunications les compétences nécessaires pour concevoir, développer et déployer des applications mobiles natives performantes et conviviales pour les appareils iOS. Les étudiants auront l’occasion d’approfondir leur compréhension des concepts de programmation, de conception d’interface utilisateur et de déploiement d’applications sur l’App Store.

Objectifs d’apprentissage et compétences visées

L’étudiant doit être capable de :

Utiliser l’IDE xCode

Développer un algorithme en swift en utilisant le xCode Playground

Connaître l’architecture d’un projet xCode d’une application iOS

Connaître le cycle de vie d’une application iOS (AppDelegate.swift)

Connaître le cycle de vie d’une Interface (UIViewController.swift)

Développer une interface graphique avec le Interface-Builder

Implémenter le UINavigationController

Utiliser le Framework CoreData

Consommer des API REST

Utiliser le MapKit

Contenu

Semaine 1-2 : Introduction au Développement iOS

  • Historique d’iOS et évolution des appareils Apple.
  • Environnement de développement Xcode : configuration, interface et fonctionnalités clés.
  • Introduction à Swift : syntaxe, types de données, structures de contrôle.

Semaine 3-4 : Interface Utilisateur et Conception d’Expérience Utilisateur (UX)

  • Conception d’interfaces utilisateur efficaces pour les appareils iOS.
  • Utilisation d’Interface Builder pour créer des interfaces graphiques.
  • Gestion des contraintes et des éléments d’interface adaptatifs.
  • Principes d’UX et d’ergonomie pour les applications mobiles.

Semaine 5-6 : Programmation Avancée en Swift

  • Fonctions avancées, closures et gestion des erreurs.
  • Programmation orientée objet en Swift : classes, structures, protocoles et héritage.
  • Gestion avancée de la mémoire et références.

Semaine 7-8 : Gestion des Données et Persistance

  • Utilisation du framework Core Data pour la gestion de la persistance.
  • Intégration avec des bases de données locales et distantes.
  • Sécurité des données et bonnes pratiques en matière de stockage.

Semaine 9-10 : Communication Réseau

  • Utilisation d’API pour les requêtes HTTP et la communication avec des serveurs.
  • Gestion des réponses asynchrones et traitement des données JSON.
  • Sécurité réseau : HTTPS, authentification et protection contre les vulnérabilités.

Semaine 11-12 : Fonctionnalités Avancées d’iOS

  • Intégration de capteurs matériels : géolocalisation, gyroscope, accéléromètre, etc.
  • Utilisation de notifications locales et distantes.
  • Intégration de la réalité augmentée (AR) à l’aide d’ARKit.

Semaine 13-14 : Tests et Débogage

  • Stratégies de tests unitaires et d’intégration pour les applications iOS.
  • Utilisation d’outils de débogage avancés dans Xcode.
  • Analyse de performances et optimisation de l’application.

Semaine 15-16 : Déploiement sur l’App Store et Conclusion

  • Processus de soumission d’une application sur l’App Store.
  • Considérations en matière de sécurité et de confidentialité pour les applications publiques.
  • Présentation des projets finaux : démonstrations et évaluation des applications développées.

Évaluation : L’évaluation se fera par le biais de projets individuels et de groupe, d’examens écrits, de présentations orales et de critiques de code. Les étudiants seront également évalués sur leur capacité à résoudre des problèmes de développement iOS complexes et à appliquer les concepts enseignés dans des scénarios pratiques.

Méthodes d’enseignement et d’apprentissage

Travaux pratiques (laboratoire)

Connaissances et compétences pré-requises

  • Programmation orienté objet
  • JAVA / Android SDK
  • MVC

Références bibliographiques

Ambroise Collon, Introduction à iOS : plongez dans le développement mobile !, https://openclassrooms.com/fr/courses/4206426-introduction-a-ios-plongez-dans-le-developpement- mobile

Modalité d’évaluation

100% Travaux pratiques (Examen TP)

Résultat d’apprentissage :

Après avoir réussi l’examen du cours « Développement Mobile Natif 2 (iOS) » dans le cadre du diplôme d’ingénieur en Génie des Télécommunications, les étudiants devraient avoir acquis un ensemble de compétences techniques et professionnelles solides. Voici une liste des compétences qu’ils pourraient avoir développées :

Compétences Techniques :

  1. Programmation iOS : Les étudiants devraient être capables de développer des applications natives pour les dispositifs iOS en utilisant des langages de programmation tels que Swift et Objective-C.
  2. Interface Utilisateur (UI) et Expérience Utilisateur (UX) : Ils devraient comprendre les principes de conception d’interface utilisateur pour créer des applications conviviales et esthétiques qui offrent une expérience utilisateur optimale.
  3. Gestion des Données : Les étudiants devraient être en mesure de manipuler et de gérer efficacement les données dans leurs applications, en utilisant des technologies telles que Core Data, Realm ou des appels réseau pour récupérer des données à partir de sources distantes.
  4. Intégration de Fonctionnalités : Ils devraient savoir comment intégrer des fonctionnalités essentielles telles que la caméra, le GPS, les capteurs de mouvement, etc., dans leurs applications pour exploiter les capacités uniques des appareils iOS.
  5. Débogage et Tests : Les étudiants devraient avoir la capacité de déboguer leurs applications et de réaliser des tests pour assurer la qualité et la fiabilité du code.
  6. Sécurité et Confidentialité : Ils devraient comprendre les principes de base de la sécurité des applications mobiles, y compris la gestion des données sensibles et la sécurisation des communications.
  7. Optimisation des Performances : Les étudiants devraient être en mesure d’optimiser les performances de leurs applications pour assurer une utilisation fluide et efficace, en minimisant l’utilisation de la batterie et des ressources.

Compétences Professionnelles :

  1. Collaboration en Équipe : Les étudiants devraient être capables de travailler efficacement au sein d’équipes de développement, en suivant des méthodologies agiles et en communiquant de manière transparente.
  2. Gestion de Projet : Ils devraient comprendre les principes de base de la gestion de projet et être capables de planifier, organiser et gérer les différentes phases du développement d’une application mobile.
  3. Résolution de Problèmes : Les étudiants devraient avoir la capacité d’analyser et de résoudre efficacement les problèmes techniques qui peuvent survenir lors du développement ou de la maintenance d’une application.
  4. Veille Technologique : Ils devraient être en mesure de suivre les dernières tendances et évolutions dans le domaine du développement iOS et des technologies connexes, pour rester à jour et continuer à améliorer leurs compétences.
  5. Éthique Professionnelle : Les étudiants devraient comprendre les enjeux éthiques liés au développement d’applications mobiles, y compris la protection de la vie privée des utilisateurs et le respect des normes professionnelles.
  6. Communication : Ils devraient être capables de communiquer efficacement leurs idées, leurs solutions techniques et leurs rapports de projet, tant à l’écrit qu’à l’oral

Laisser un commentaire

Défiler vers le haut
Need Help? Chat with us