Programmation MacOS et iOS

Informations générales

Dans ce cours de programmation iOS (iPhone), MacOSX nous nous emploierons à passer en revue diverses technologies de l’environnement ©Apple.

Ce cours est à destination d’étudiants en seconde année de Master Informatique de l’Université Paris Diderot et suppose la maîtrise de langages objets (comme Java ou C++) et la pratique d’outils de développement (type Eclipse ou autre). Au travers des principaux outils de développement d’Apple, tels que XCode, on propose de montrer qu’une certaine unité existe, et que la difficulté du développement réside non dans l’expertise que l’on peut avoir d’un langage, mais plutôt dans la maîtrise des concepts « cachés » de l’environnement. Parmi les technologies survolées on trouvera : le langage Swift, les frameworks Foundation, Cocoa, UIKit, WebKit, SpriteKit…

Cet enseignement est constitué à la fois de cours magistraux durant lesquels des démonstrations seront réalisées et de séances de travaux pratiques pendant lesquelles les étudiants sont invités à réaliser de petites applications illustrant des points particuliers. En annexe, des démonstrations enregistrées et commentées sont fournies afin d’illustrer certaines techniques.

Ce cours ne présuppose aucune connaissance relative aux technologies ©Apple, mais une bonne connaissance et pratique de la programmation objet, de l’utilisation de patterns et d’outils de développement.

Le déroulement

Le cours a lieu le mercredi de 8h30 à 12h30 en demi-groupes en salle SG-2027.

Il est limité à 30 étudiants au plus, 15 par groupe.

Il n’est pas nécessaire de posséder un ordinateur Apple, l’UFR a à disposition des machines pour y pallier. Il sera par contre possible de finir par travailler à deux si le nombre de machines en prêt est insuffisant. Attention, ce prêt n’est pas à long terme; le matériel n’est prêté que pour la durée du cours (les deux heures).

COVID : la crise sanitaire nous obligera peut-être à mettre fin à cet enseignement prématurément. En effet, il ne peut avoir lieu qu’en présentiel.

Les supports de cours

Cours

Attention! Beaucoup de ces supports sont incomplets ou obsolètes. Les technologies évoluant sans cesse, l’auteur a renoncé à mettre tout à jour systématiquement. Le contenu réél du cours est lui, par contre, à jour.

  • l’essentiel de Swift, (dont une plus ancienne version ici)
  • reste valable pour ceux qui souhaitent relire du code le support sur le langage Objective-C. Même si le language est très intéressant, il n’est plus vraiment recommandé de développer from scratch en l’utilisant. Attention, le langage a continué d’évoluer (légèrement) depuis…
  • des éléments de Foundation.
  • des éléments de Cocoa (dont une plus ancienne version ici).

TPs

Certaines années sont manquantes…

Sinon vous pouvez consulter le fil des TPs.

Tutoriels

Avant toute chose, laissez-moi vous faire profiter de la promotion de l’application révolutionnaire iMelt qui vous permet de faire fondre la neige grâce à votre iPhone dès que celle-ci vous embête :

Attention, comme pour le reste certaines vidéos sont obsolètes, les technologies changent très rapidement. D’autre part, le canal correspondant n’est pas ordonné (des changements futurs sont à venir qui devraient remettre de l’ordre).