Développement : Apple publie les versions finales de Swift 3.0 et Xcode 8

Attention à la compatibilité 13
En bref
image dediée
Développeurs
Vincent Hermann

Apple a publié la version 8.0 de son environnement de développement intégré Xcode. Swift 3.0, la nouvelle mouture du langage, est également fournie, mais peut être récupérée séparément si besoin. Il s’agit de la première révision importante depuis que le langage est devenu open source.

Maintenant que trois des quatre plateformes logicielles d’Apple ont été renouvelées (iOS 10, tvOS 10 et watchOS 3.0), l’éditeur déboule avec les nouvelles versions majeures de son langage de programmation Swift et de Xcode. Pour le premier, c’est l’occasion pour Apple de montrer les premiers résultats tangibles du passage à l’open source. La firme était d’ailleurs intervenue cet été sur le sujet, affichant sa satisfaction, malgré un petit retard.

Swift 3.0 casse la compatibilité avec la branche 2.X

Swift 3.0 n’est pas « source compatible ». Comprendre que la compilation d’un projet basé sur Swift 1.X ou 2.X ne fonctionnera pas. La raison tient à des changements profonds dans le nommage des API de la Standard Library, ainsi que dans la manière dont les API Objective-C sont importées dans Swift, particulièrement celles qui touchent l’ancien Cocoa. Apple fournit un guide de migration pour les développeurs, mais précise que Xcode 8.0 intègre un outil de migration du code, pour s’occuper de la majeure partie des opérations.

Les projets écrits en Swift 3.0 devront prendre en compte de nombreux changements, parmi lesquels la suppression des boucles « for » de type C ou encore celle des opérations « ++ » et « -- ». L’un des plus gros ajouts est cependant le Swift Package Manager qui va permettre, comme son nom l’indique, de créer et gérer la distribution du code sous forme de paquets.

Une nouvelle base, sans regarder en arrière

Comme évoqué en août, les principaux objectifs de Swift 3.0 sont la stabilisation de l’ABI (interface binaire) ainsi que de la Standard Library. Dans les grandes lignes, l’idée était de proposer une nouvelle base en abandonnant certains héritages jugés peu adaptés à la direction envisagée pour le langage, à savoir la voie royale pour développer sur les quatre plateformes d’Apple (iOS, macOS, tvOS et watchOS).

On reste donc sur un langage surtout conçu pour les besoins d’Apple, mais qui peut être exploité sur des plateformes concurrentes (merci l’open source). Mais si sous Windows on ne trouve que des portages non officiels, Apple propose bien dans son annonce des versions tout à fait authentiques de Swift pour Ubuntu, mais seulement pour les versions 14.04 et 15.10. Ceux qui veulent la longue liste des changements introduits par Swift 3.0 peuvent se rendre sur cette page.

Xcode 8.0 extensible et plus rapide

Parallèlement, Apple propose aux développeurs sous macOS de récupérer Xcode 8.0. C’est une mouture importante, pour deux raisons principalement. D’une part, Apple promet un bond significatif dans les performances, surtout dans l’Interface Builder. La conception de l’interface doit être beaucoup plus réactive et permet, selon Apple, de toujours avoir sous les yeux ce que l’utilisateur verra (au pixel près).

D’autre part, un système d’extension, exactement comme sur un navigateur. On peut donc enrichir Xcode avec des modules qui vont ajouter des fonctionnalités. On en trouve déjà un certain nombre, beaucoup s’orientant sur les actions à effectuer sur le code, pour le rendre plus lisible, plus propre et ainsi de suite. Par exemple, Alignment aligne les éléments de code pour rendre la lecture plus immédiate, Duplicate Line permet de copier un tronçon de code en reprenant son formatage, Xcode Way permet de se rendre depuis l’IDE dans différents dossiers souvent utilisés, et Strimmer se débarrasse des espaces vides inutiles.

Des rapports d'erreurs sur les fuites de mémoire

Xcode 8.0 ajoute également plusieurs améliorations, notamment dans la gestion des signatures pour les applications, dont il peut se charger automatiquement ou avec des paramètres définis par l’utilisateur. Les rapports d’erreurs et les alertes sont également plus nombreux, particulièrement sur les fuites de mémoire et les soucis d’alignement lors de la conception des interfaces. Par ailleurs, San Francisco Mono devient la police par défaut.


chargement
Chargement des commentaires...