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 :
- 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.
- 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.
- 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.
- CampusEvents example Demonstration iOS app in XCode.
- iOS-TextBased_Adventure_Game example A Text-based Adventure Game written with the Swift programming language.
- swift-env-template template Swift environment for Github Codespaces development in browser.
- swift-fullstack-example example Fullstack Swift application demo.
- swift-project-template template Template for Swift Development final project, using Hummingbird and SQLite.
ressources
- Swift — le langage source officielle du langage
- Apple — documentation Swift référence officielle du langage
- Apple — tutoriels SwiftUI
- Swift Playgrounds
- Installer Swift sur Linux la chaîne d’outils Swift sur votre machine
- The Swift Programming Language (livre) le guide officiel du langage