DM36EM06 · Printemps

Programmation Swift pour iOS

Développement iOS, Swift et l’IDE Xcode. Apprenez à écrire du code bien architecturé pour l’écosystème Apple.

présentation

Technologies principales : Swift, Swift Package Manager, Xcode

Objectif du cours : Maîtrise de Swift et connaissance de l’écosystème Apple, démontrées par un projet

Ce cours emmène les étudiants au cœur du langage Swift et de l’écosystème iOS. Au fil du semestre, les étudiants construisent un projet qui démontre ce qu’ils ont appris : de solides compétences en programmation Swift, de bonnes pratiques de code et une connaissance concrète de la manière dont les logiciels pour les plateformes Apple sont structurés, compilés et livrés.

Swift est open source et fonctionne sous Linux et Windows aussi bien que sous macOS : chaque étudiant peut donc écrire, compiler et tester du vrai code Swift sur sa propre machine avec la chaîne d’outils Swift et Swift Package Manager. La couche propre à Apple, dont Xcode, les frameworks natifs et le chemin vers l’App Store, est traitée en cours afin que les étudiants comprennent l’environnement de développement natif et l’écosystème plus large pour lequel ils développent.

L’accent est mis sur les concepts avancés de programmation, les structures de données et l’architecture de gestion des données (hors conception d’algorithmes), avec des travaux pratiques centrés sur l’architecture des systèmes et la logique.

Ce que vous allez construire et apprendre

Les étudiants construisent un projet au fil du semestre et développent les compétences qu’il exige :

  • Maîtrise du langage Swift : syntaxe, sémantique par valeur et par référence, gestion de la mémoire, protocoles, génériques, gestion des erreurs et concurrence moderne.
  • Structures et gestion des données : concevoir des façons efficaces de manipuler, stocker et traiter les données au sein d’un système logiciel.
  • Persistance : concevoir une couche de données adossée à une base de données locale.
  • Intégration web : connecter des systèmes de données en Swift à une interface web légère.
  • L’écosystème Apple : Xcode, les frameworks natifs, et la manière dont les applications sont construites et distribuées sur les plateformes Apple.
  • Outillage : Swift Package Manager et les tests.

Évaluation

L’évaluation repose sur trois composantes :

  1. Mini-labs : cinq courts labs bâtis sur des projets de démonstration ou des modèles, chacun demandant des exercices de code ou une fonctionnalité à implémenter.
  2. Projet final : un système de gestion de données en Swift avec une couche de données persistante et une interface web légère.
  3. Examen final : une évaluation écrite complète de la compréhension du langage Swift par l’étudiant, ainsi que des notions fondamentales concernant l’IDE Xcode et l’écosystème iOS au sens large.

labs

Démos interactives, projets d’exemple et modèles — depuis l’organisation GitHub du cours.

ressources