Swift 3.0 est officiellement disponible pour macOS et Linux
Swift 3.0 : la première préversion développeur du langage d’Apple disponible pour Mac OS et Linux
La version finale attendue en fin d’année
Citation:
Mise à jour le 14 / 09 / 2016 : Swift 3.0, la dernière version majeure du langage de programmation d’Apple est officiellement disponible pour les plateformes macOS et Linux
Quatre mois après le dévoilement de la feuille de route de Swift 3.0, Apple vient de publier la nouvelle version majeure de son langage de programmation : Swift 3.0. Cette première version majeure de Swift depuis son passage en open source en décembre 2015 apporte des améliorations fondamentales au langage et à la bibliothèque standard. On note également des ajouts majeurs pour le port Linux, qui inclut maintenant les bibliothèques du noyau Swift et le gestionnaire de paquet du langage d’Apple. Swift Package Manager connait également sa première version officielle.
Il faut aussi noter qu’avec les changements introduits dans Swift 3.0, cette version n’est pas compatible avec les précédentes. Pour les utilisateurs de macOS, XCode 8.0 contient un outil qui peut traiter automatiquement un grand nombre de besoins de changements pour la migration de leur code vers Swift 3.0.
Swift 3.0 est disponible pour Ubuntu 14.04 et 15.10, et macOS via XCode 8.0.
:fleche:
Liste des changements dans le langage
:fleche:
Téléchargements de Swift 3.0 (macOS via Xcode 8, Ubuntu 14.04, Ubuntu 15.10)
Au début du mois de mai, Apple a dévoilé sa feuille de route pour le développement de Swift 3.0, la première version majeure de son langage de programmation depuis qu’il est passé en open source en décembre dernier. Conformément à cette feuille de route, Apple vient de publier la première préversion développeur de Swift 3.0 qui débarque sur Mac OS et Linux.
Comme on en a déjà parlé, Swift 3.0 prévoit l’implémentation d’une longue liste de propositions, dont une bonne partie a déjà été prise en compte dans cette préversion. C’est le cas par exemple de la suppression des opérateurs ++et --, une meilleure traduction des API Objective-C en Swift, la suppression des boucles forde style C avec conditions et incrémenteurs, etc. L’un des chantiers clés de cette version est sans doute Swift Package Manager, un outil encore en développement qui permettra de gérer la distribution de code Swift, plus précisément le développement et la distribution de paquets Swift cross-platform.
Ce qu’il faut retenir avec la branche 3.x du langage de programmation d’Apple, c’est qu’elle introduit des changements majeurs dans le langage et la bibliothèque standard ; lesquels changements vont entrainer une rupture de compatibilité avec Swift 2.x.
L’objectif principal de Swift 3.0 sera la stabilisation de l’interface binaire (ABI) du langage, mais également de la bibliothèque standard, ses types de données, et des algorithmes de base. Il s’agira aussi de rendre le langage plus cohérent, en supprimant ou en améliorant certaines fonctionnalités et API précédemment introduites, mais que l’équipe de développement estime non cohérentes avec le langage dans son ensemble.
Swift prévoit aussi une interopérabilité avec les bibliothèques C++, ce qui pourrait améliorer ses capacités à fonctionner avec les API existantes. Toutefois, l’équipe de développement estime que C++ est un langage très complexe et assurer une interopérabilité avec C++ est hors de portée pour la version 3.0.
Pour revenir à cette première préversion pour les développeurs, elle est disponible pour les utilisateurs de Mac OS via la bêta 1 de XCode 8, la prochaine version de l’environnement de développement d’Apple pour Mac OS, iOS, tvOS et watchOS.
Pour les utilisateurs de Linux, Swift 3.0 developer preview 1 est disponible en téléchargement pour Ubuntu 14.04 et Ubuntu 15.10.
Une nouvelle préversion développeur de Swift 3.0 sera livrée dans 4 à 6 semaines, d’après la feuille de route du langage de programmation. La version finale est attendue plus tard cette année.
:fleche: Téléchargement de la préversion développeur de Swift 3.0 pour Mac OS (via XCode)
:fleche: Téléchargement de la préversion développeur de Swift 3.0 pour Linux sur Swift.org
Source : Swift.org
Voir aussi :
:fleche: La feuille de route du développement de Swift 3.0 dévoilée : une préversion chaque 5 semaines en moyenne et la version finale en fin 2016
:fleche: Swift 2.2 est disponible avec le support des distributions Linux et la possibilité d'utiliser la plupart des mots-clés comme étiquettes d'arguments
Apple se rapproche de la version finale de Swift 3.0 et dévoile ses plans pour la version 4.0 du langage
Apple se rapproche de la version finale de Swift 3.0 et dévoile ses plans pour la version 4.0 du langage
qui sera disponible à l’automne 2017
Apple prévoit la sortie de la version finale de Swift 3.0 à l’automne prochain aux côtés de i0S 10 et de macOS Sierra. Le directeur du département Developer Tools chez Apple en charge des outils mis à la disposition des développeurs, Chris Lattner, dans un billet de blog posté sur la liste de diffusion de Swift, relate les faits marquants du développement de la version 3.0 du langage de la firme à la pomme et dévoile quelques attentes en ce qui concerne la version 4.0 prévue pour l’année prochaine.
Chris est revenu notamment sur le passage du langage à l’open source et sur l’impact positif que cela a représenté pour le langage. Même si le directeur du département Developer Tools d’Apple trouve le développement en open source plus lent et moins prévisible que le développement dans un monde « propriétaire », il est cependant fier de la communauté derrière Swift. En effet, il décrit cette communauté comme étant « vibrante » et « fantastique ». D’après lui, le résultat final de ce pari d’Apple sur l’open source en ce qui concerne son langage Swift est nettement mieux, ce qui lui fait dire que le compromis en valait donc la peine.
D’ici l’automne 2017, Apple prévoit de deux mises à jour majeures pour Swift à savoir les versions 3.1 et 4.0 avec évidemment d’éventuelles mises à jour mineures pour des corrections de bogues qui s’avéreraient nécessaires. Pour la version 4.0 de Swift, les plans d’Apple seraient de se concentrer d’abord sur la stabilité du code source et de l’ABI (Application Binary Interface) avant de passer à d’autres fonctionnalités. Lattner a mis en évidence quelques objectifs que l’équipe de développement du langage souhaiterait atteindre en plus de la stabilité évoquée du code source et de l’ABI si le temps le permet.
Chris annonce notamment de nouvelles fonctionnalités de script. Selon lui, la disponibilité des expressions régulières et des chaines littérales « multilignes » dans Swift rendrait le langage beaucoup plus attrayant auprès de ceux qui font des scripts et les développeurs web entre autres. Il ajoute que des améliorations pour les Generics sont aussi à l’ordre du jour avec plusieurs nouveautés intéressantes qui ont été recensées dans le « generics manifesto ». Bien d’autres fonctionnalités sont également prévues pour les versions futures du langage avec notamment le support des sous-modules, de la promotion implicite entre les types numériques, la possibilité d’importer des API C++, un meilleur support de SIMD, le support du parallélisme de données entre autres, d’après le directeur du département Developer Tools d’Apple.
Source : lists.swift.org
Et vous ?
:fleche: Que pensez-vous des plans d'Apple pour Swift ?
Voir aussi
:fleche: le forum Swift
Swift 3.1 prévu pour le printemps 2017
Swift 3.1 prévu pour le printemps 2017
cette version va apporter certaines améliorations tout en assurant la compatibilité avec Swift 3.0
Près de trois mois après la sortie de Swift 3.0, Apple confirme ses plans pour la sortie de Swift 3.1. Par rapport à la version 3.0, Swift 3.1 se veut une mise à jour plus facile à digérer. En effet, Swift 3.0 a introduit des changements majeurs dans le langage et la bibliothèque standard, qui ont entrainé une rupture de compatibilité avec Swift 2.x. Avec Swift 3.1, Apple veut donc maintenir la compatibilité avec la version 3.0. « Swift 3.1 est destiné à être compatible avec Swift 3.0 », est-il indiqué sur le site officiel de Swift.
La prochaine version contiendra toutefois quelques améliorations additives au langage, mais pas comme dans Swift 3.0 où une longue liste de propositions (faites depuis que le langage est devenu open source) a été implémentée. Apple a essayé de rendre le langage plus cohérent, en supprimant ou en améliorant certaines fonctionnalités et API précédemment introduites, mais que l’équipe de développement estime non cohérentes avec le langage dans son ensemble. On a par exemple vu la suppression des opérateurs ++ et -- et des boucles for de style C avec conditions et incrémenteurs, pour ne citer que ceux-là.
Le gestionnaire de paquets (Swift Package Manager) était l’un des chantiers clés de Swift 3.0 où il a connu sa première version officielle. En guise de rappel, l’outil Swift Package Manager permet de gérer la distribution de code Swift, plus précisément le développement et la distribution de paquets Swift cross-platform. Dans Swift 3.1, il bénéficiera aussi de quelques améliorations. En ce qui concerne la compatibilité de Swift sur Linux, elle sera encore améliorée après les ajouts majeurs (y compris les bibliothèques du noyau Swift et le gestionnaire de paquets) dont a bénéficié le port Linux dans Swift 3.0. L’équipe de développement de Swift promet aussi des « améliorations générales de qualité pour le compilateur et la bibliothèque standard » pour la prochaine version.
Il faut également noter que Swift 3.1 sera la dernière version de la branche 3.x, étant donné qu’après sa sortie, Apple va se concentrer sur le développement de la version 4.0 de son langage de programmation. Swift 3.1 devrait être disponible au printemps 2017, mais les principaux changements devraient être finalisés le 16 janvier. Après cela, seuls des correctifs critiques seront appliqués avant la version finale. Dès ce moment déjà, Apple envisage de se concentrer sur Swift 4.0.
Source : Swift.org
Voir aussi :
:fleche: Swift 3.0, la dernière version majeure du langage de programmation d'Apple est officiellement disponible pour les plateformes macOS et Linux
:fleche: Apple se rapproche de la version finale de Swift 3.0 et dévoile ses plans pour la version 4.0 du langage qui sera disponible à l'automne 2017
Apple inclut son langage de programmation Swift 3.1 dans Xcode 8.3
Apple inclut son langage de programmation Swift 3.1 dans Xcode 8.3
Avec un lot de nouveautés pour les développeurs
La dernière version de Xcode intègre Swift 3.1, la première mise à jour du langage depuis qu’Apple a révélé Swift 3.0 en open source il y a six mois. Bien qu’il s’agisse d’une mise à jour mineure, elle apporte quelques nouveautés intéressantes. Swift 3.1 est compatible avec Swift 3.0 et apporte quelques changements au langage et des mises à jour qui sont pour la plupart passées par le processus d’évolution du langage (une fois une proposition est approuvée, elle devient éligible pour apparaître dans une version future de Swift). Parmi les nouveautés, il y a :
De nouveaux membres du protocole Sequence
Le protocole Sequence a maintenant deux nouveaux membres :
Code:
1 2 3 4 5 6 7 8 9
| protocol Sequence {
// ...
/// Returns a subsequence by skipping elements while `predicate` returns
/// `true` and returning the remainder.
func drop(while predicate: (Self.Iterator.Element) throws -> Bool) rethrows -> Self.SubSequence
/// Returns a subsequence containing the initial elements until `predicate`
/// returns `false` and skipping the remainder.
func prefix(while predicate: (Self.Iterator.Element) throws -> Bool) rethrows -> Self.SubSequence
} |
La disponibilité par la version de Swift
Swift 3.1 étend l’attribut @availability pour utiliser la version de Swift et indiquer le cycle de vie de la déclaration. Comme exemple, une API supprimée dans Swift 3.1 sera décrite comme suit :
Code:
1 2 3 4
| @available(swift, obsoleted: 3.1)
class Foo {
//...
} |
Déprécation et remplacement de UnsafeMutablePointer.initialize(from:)La version de UnsafeMutablePointer.initialize(from:) qui prend un collection a été retirée en faveur d’une nouvelle méthode sur UnsafeMutableBufferPointer qui prend un Sequence, le but étant d’améliorer la gestion de la mémoire et sa sécurité.
À noter que Swift 3.1 embarque également une quantité d'améliorations pour l'implémentation Linux, grâce à IBM et d’autres membres de la communauté qui s'impliquent beaucoup dans son développement :
- Implémentation de NSDecimal
- Implémentation de NSLengthFormatter
- Implémentation de Progress
- Plusieurs améliorations de la fonctionnalité URLSession, incluant l’API de couverture et un usage optimisé de libdispatch
- Une couverture améliorée des API dans NSArray, NSAttributedString et d’autres
- Des améliorations importantes de la performance dans Data
- Une amélioration de la performance de la sérialisation JSON
- Les fuites de mémoires réglées dans NSUUID, NSURLComponents et d’autres
- Une amélioration du test de couverture, surtout dans URLSession
Avec le lancement de Swift 3.0, les équipes avaient pour objectif de rendre l’expérience de développement avec le langage plus mature et plus solide. De Swift 3.1 à Swift 4+, le langage va rester compatible avec les sources issues des bases de code antérieures. L’équipe de développement du langage se concentre désormais sur Swift 4 qui sera finalisé plus tard cette année.
Le langage de programmation Swift entre dans le top 10 du classement TIOBE
Durant le mois de mars, Swift est entré dans le top 10 de l’index de TIOBE pour la première fois, ce qui souligne le dynamisme du jeune langage de programmation qui s'apprête à fêter sa troisième année d'existence. Mais TIOBE pense que Swift ne montera pas davantage dans son classement, en raison de la nature et la raison d’être du langage centré sur l’écriture d'applications pour l'écosystème d’Apple.
Toutefois, des entreprises comme IBM ont l’intention de recourir à Swift en tant que langage serveur, en raison de sa performance et ses besoins en mémoire moindres. En théorie, Swift permet de faire des économies pour tourner sur les infrastructures cloud comparé à Java.
Source : blog Swift
Et vous ?
:fleche: Qu'en pensez-vous ?