BT

Accueil InfoQ Actualités Swift 3 est disponible

Swift 3 est disponible

Favoris

Swift 3.0 vient d'être lancé, comme l'écrit Ted Kremenek, ingénieur Apple, apportant des changements bienvenus au langage et à la librairie standard, en plus d'un portage Linux et d'une première version officielle du gestionnaire de paquet Swift.

Swift 3 est la première version majeure depuis l'ouverture open source du langage par Apple fin 2015 et met en oeuvre près de 90 propositions discutées et approuvées par le processus d'évolution de Swift.

Une partie des nombreux changements de Swift 3.0 vise à nettoyer l'API, comme dans les guides du Swift API Design, en supprimant quelques choix qui semblaient être un héritage d'Objective-C. L'impact est de rendre la syntaxe de Swift plus courte et consistante avec :

  • L'obligation de nommer le premier paramètre des fonctions et méthodes (plutôt qu'une omission délibérée avec _) ce qui permet d'écrire :
aString.write(toFile: "filename", atomically: true, encoding: NSUTF8StringEncoding)
UIFont.preferredFont(forTextStyle: UIFontTextStyleSubheadline) 

plutôt que :

aString.writeToFile("filename", atomically: true, encoding: NSUTF8StringEncoding)
UIFont.preferredFontForTextStyle(UIFontTextStyleSubheadline) 
  • La suppression de mots inutiles qui permet aux développeurs d'écrire :
UIColor.red()

plutôt que :

UIColor.redColor()

Les deux règles décrites ont un effet plus important en les mixant, avec par exemple la syntaxe suivante :

aString.stringByReplacingOccurrencesOfString("A", withString: "a")

devient :

aString.replacingOccurrences(of: "A", with: "a")

Un autre domaine où Swift 3.0 a rationalisé les choses est la gestion des fonctions C appartenant à plusieurs framework Cocoa. Parmi les exemples possibles, toutes les fonctions de Core Graphics commençant par CGContext, CGAffineTansform, CGPDFDocument, etc, peuvent maintenant être appelées comme si elles étaient les méthodes d'un objet :

if let ctx = UIGraphicsGetCurrentContext() {
    ctx.setFillColor(UIColor.red().cgColor)
    ...
}
CGAffineTransform(translationX: 64, y: 0)

Swift 3 présente aussi des modifications de syntaxe permettant de nettoyer le langage, comme le retrait des opérateurs ++ et --, du var pour les paramètres des fonctions, et des boucles style C avec des conditions et des incréments, qui représentaient plus d'inconvénients que d'avantages.

La liste des modifications de Swift 3 est trop longue pour la couvrir ici. Vous pouvez en trouver le détail dans l'annonce officielle.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Votre profil est-il à jour? Merci de prendre un instant pour vérifier.

Note: en cas de modification de votre adresse email, une validation sera envoyée.

Nom de votre entreprise:
Rôle dans votre entreprise:
Taille de votre entreprise:
Pays/Zone:
État/Province/Région:
Vous allez recevoir un email pour confirmer la nouvelle adresse email. Ce pop-up va se fermer de lui-même dans quelques instants.