• 30 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Retracez l'envol du langage Swift

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Le langage Swift est très récent et n'a pas arrêté d'évoluer. Un peu d'histoire…

Lancement

Comme vous le savez maintenant, le développement en langage Swift a commencé en 2010 par les développeurs d'Apple mais il n'a été rendu public qu'en juin 2014 à la Worldwide Developers Conference (WWDC) avec un manuel d'utilisation "The Swift Programming Language".
Très vite, en octobre, la version 1.1 a été disponible pour plus de stabilité et une compatibilité sûre avec l'Objective-C (l'ancien langage d'Apple) et le C.

Swift a été développé pour être encore plus sûr que l'Objective-C qui présentait déjà peu de failles. Il a également permis de se délester de la lourdeur du code que présentait Objective-C.

Il évite toutes les erreurs liées aux pointeurs en les masquant, ce qui empêche les "nullPointerException" régulièrement soulevées par les développeurs.

À partir de la version 1.1, Apple a travaillé intensivement sur l'optimisation du code et des systèmes d'exploitation : depuis, les nouvelles versions de Swift vont généralement de pair avec les nouvelles versions d'iOS.

Évolutions

Si vous êtes curieux, vous pouvez prendre connaissances des différents changements de chaque version du langage présentés ci-dessous. L'élément important à retenir, c'est que depuis la version 2 du langage, le Swift est OpenSource, c'est-à-dire que vous-même pouvez participer aux nouvelles évolutions du langage ! Retrouvez toutes les infos sur le site de Swift.

Vous pourrez retrouver les autres principales modifications du Swift sur le site de Ray Wenderlich

Versions

Principales mises à jour

Swift 1.2 et Xcode 6.3

  • Xcode ne recompile plus tous les fichiers du projet avant de le lancer

  • Amélioration du "if-let" avec le mot-clé "where"

  • Le casting passe de "as!" et "as?" à "as" pour les upcast et downcast

  • Réintroduction des "Sets"

  • Plus besoin d'assigner une valeur à une constante lors de sa déclaration

  • Les valeurs optionnelles sont plus précises : nonnull, nullable et null_unspecified

  • Logiciel de migration en Swift 1.2 depuis Swift 1.1 ou 1.0

Swift 2 et Xcode 7

  • Le langage devient OpenSource !

  • Gestions des erreurs, on peut créer nos propres types d'erreur

  • Surévolution du "if-let" avec l'instruction "guard"

  • Les extensions peuvent être appliquées aux protocoles

  • Amélioration des types convertis d'Objective-C : moins de "Anyobject" à tout va

  • "do" est utilisé pour les "try-catch" donc "do-while" devient "repeat-while"

  • "println" devient "print"

  • Logiciel de migration en Swift 2.0 depuis Swift 1.x

Swift 2.1 et Xcode 7 beta 2

  • Les guillemets (pour des dictionnaires par exemple) peuvent être utilisés dans une chaine de caractères

  • Meilleure gestion des erreurs de closure "_ -> _"

  • Compilation plus rapide

Swift 2.2 et Xcode 7.3

  • Adieu "++" et "--" qui sont condamnés à disparaitre dans les prochaines versions

  • La boucle for passe de "for var i = 1; i <= 10; i += 1"  à  "for i in 1...10"

  • Méthode "removeFirst()" pour les tableaux

  • Comparaison entre tuples possible

  • __LINE__ devient #line. Idem pour #file, #function et #column

  • Les selecteurs ne peuvent simplement être des chaîne de caractères : "mySelector" devient "#selector(mySelector(:_))"

  • Le compilateur gère différentes versions de Swift dans un même fichier

  • Apparition des keywords. On peut ajouter des mots-clés en commentaires pour que ceux-ci apparaissent dans l'auto-complétion

Swift 3 et Xcode 8

La mise à jour du langage Swift a provoqué des changements majeurs dans l'utilisation du langage.

  • Les labels de paramètres de fonctions sont nécessaires sauf si on le précise autrement

  • On retire les mots "sans intérêt" : UIColor.blueColor() devient UIColor.blue()

  • Différente capitalisation des caractères pour les énumérations (majuscules deviennent des minuscules)

  • L'utilisation des fonctions C n'a plus rien à voir, elles sont devenues des méthodes d'instances

  • Plus de "var" dans les paramètres des fonctions, utilisation de "inout" à la place

  • Toutes les préventions des versions précédentes deviennent invalides (++, boucles for, __LINE => #line, …)

Comme vous pouvez donc le voir, les développeurs du Swift ne lésinent pas et, notamment avec l'OpenSource, Swift tend à être utilisé pour de nombreux autres systèmes.

Bon, il est grand temps de commencer, non ?

Vous vous êtes munis d'Xcode ? Alors c'est parti !

Exemple de certificat de réussite
Exemple de certificat de réussite