Comme promis, Apple ouvre les sources de son langage Swift
La séduction par l'open source
Le 04 décembre 2015 à 14h00
4 min
Logiciel
Logiciel
Apple vient d’ouvrir les sources de son langage Swift. Une bascule importante, mais qui avait été promise en juin dernier. L’évolution du langage, qui prend la relève d’Objective-C depuis l’année dernière, se fera donc avec l’aide de communauté.
En juin dernier, lors de la WWDC, Apple avait présenté les grandes lignes de la version 2.0 de son langage Swift. Ce dernier était apparu officiellement l’année dernière comme le remplaçant officiel d’Objective-C, avec pour objectif d’en accélérer et sécuriser le développement. Nettement plus orienté objet, il se rapproche également du fonctionnel puisque le développement se faire par l’intermédiaire de fonctions imbriquées les unes dans les autres.
Swift ouvre ses sources, sous licence Apache 2.0
Mais outre les améliorations portées à son langage, Apple avait fait une autre annonce importante : Swift devait passer à l’open source. Une décision qui n’était pas si étonnante, de nombreuses entreprises tendant vers l’ouverture des sources pour les technologies de développement, notamment Microsoft pour une grande partie de .NET. Or, il est intéressant de constater qu’avec la disponibilité de ces sources, Apple a choisi exactement la même licence que son concurrent : Apache 2.0.
Les sources de Swift sont disponibles dans un dépôt GitHub ouvert pour l’occasion. On y retrouve évidemment le compilateur, le débogueur LLDV, l’outil REPL (Read Eval Print Loop), toutes les bibliothèques principales, ou encore le Swift Package Manager. Ce dernier est nouveau et n’est d’ailleurs disponible que sous forme de préversion. Il a pour ambition de devenir le grand dépôt de tous les modules dédiés à Swift.
Autre point intéressant, le site présente un document sur l’évolution de Swift. Pas question donc d’attendre la prochaine WWDC en juin 2016 pour en apprendre davantage sur la version 3.0 du langage. L’objectif principal sera ainsi la compatibilité du code, ce qui signifie qu’un code écrit pour cette mouture pourra être encore compilé par les versions suivantes. Ce n’est pas le cas aujourd’hui, et si cette compatibilité apparait avec Swift 3.0, cela signifie que des éléments seront incompatibles avec la nouvelle version pour les anciens projets en Swift 1.0 ou 2.0.
Pas de compatibilité avec Windows, sauf si la communauté s'en charge
Les évolutions se feront toutes dans le dépôt GitHub, même si un nouveau site officiel, Swift.org, concentre toutes les ressources pour les développeurs. Notez bien que la disponibilité de Swift n’est officielle que sur OS X, iOS et Linux. Pourquoi d’ailleurs ne pas proposer de compatibilité avec Windows ? Craig Federighi, vice-président de l’ingénierie chez Apple, a répondu à Ars Technica : « Nous pensons que Linux et bien entendu nos plateformes fournissent une bonne base de démarrage. Mais nous sommes ouverts au portage vers d’autres plateformes, surtout si l’on considère que LLVM, Clang et LLDB, qui sont les technologies fondatrices de Swift, sont déjà disponibles et portées vers Windows. Je pense qu’on peut s’attendre à ce que quelqu’un dans la communauté, conduit par Microsoft ou d’autres, s’attaque à ce portage. »
En d’autres termes, Apple ne bloquera pas un portage de Swift vers Windows, mais elle ne fera rien d’elle-même. Il s’agira donc d’une initiative émanant de la communauté, et le site officiel ne continuera à faire référence qu’à OS X, iOS et Linux.
Il est évident en tout cas qu’Apple veut fédérer une véritable communauté autour de Swift, pour en faire la promotion. Le passage en open source signifie que le langage pourrait être utilisé pour d’autres besoins que le seul développement d’applications iOS et OS X. Et plus les développeurs seront attirés, plus ils seront éventuellement tentés de venir publier une création sur l’un des App Store de l’entreprise à la pomme.
Comme promis, Apple ouvre les sources de son langage Swift
-
Swift ouvre ses sources, sous licence Apache 2.0
-
Pas de compatibilité avec Windows, sauf si la communauté s'en charge
Commentaires (44)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 04/12/2015 à 14h07
C’est dommage de ne pas le porter sous windows.
Ca ferme quand même une grosse partie du marché.
Puis bon, je sais pas si c’est moi qui le lis comme ça mais ça me fait genre :
“Y’a bien un mec qui le fera, nous on se casse pas trop le cul, mais si ça arrive un jour, ça nous profitera”
Le 04/12/2015 à 14h11
Le 04/12/2015 à 14h19
Le 04/12/2015 à 14h21
D’un autre côté, Microsoft a fait pareil avec .NET : on libère le code, mais faites les portages vous-même.
Le 04/12/2015 à 14h23
Le 04/12/2015 à 14h25
j’ai du mal avec ce nom car c’est aussi une boite dans le domaine des flux bancaires.
Le 04/12/2015 à 14h29
J’espère que Taylor est d’accord avec ça.
" />
Le 04/12/2015 à 14h30
\begin{appel au troll}
Apple ouvrir quelque chose, surtout logiciel ? Pas possible !
\end{appel au troll}
" />" />" />" />" />
Le 04/12/2015 à 14h30
Donc si Microsoft s’en charge on pourrait voir arriver tout le catalogue iOS sur le Windows Store? :)
Le 04/12/2015 à 14h34
Non. D’une part, Microsoft ne s’en chargera probablement pas. Ensuite, le langage ne suffit pas pour rendre les applications portable, il faut aussi les API.
Le 04/12/2015 à 14h38
C’est quoi l’intérêt de ce langage par rapport à la pléthore de langages sur le marché?
Vitesse? Super facile? Super rigoureux? APIs de la mort avec?
Le 04/12/2015 à 14h40
" />
Le 04/12/2015 à 14h51
Le portage de .Net sur les autres plateformes est bien en cours par Microsoft et ça avance même bien.
Le 04/12/2015 à 18h02
Ça reste un langage Apple. Il faut pas se leurrer, il a été créé pour pondre des apps iOS et OS X avant tout.
L’intérêt est donc d’exploiter les API Apple avec une alternative à l’Objective C auquel pléthore de dev sont réfractaires pour tout un tas de raisons.
Si Swift marche en dehors de l’écosystème Apple, notamment sur Android, ça permettrait de grandement faciliter les dev mobiles multi-plateformes. Et même si les API sont différentes, jusque ici, choisir entre Java et ObjC c’était franchement lourdingue. Si ça permettait d’unifier les développements, ça serait un sacré pas en avant. Mais en écrivant ça j’ai l’impression d’être sacrément candide.
Le 04/12/2015 à 18h32
Le 04/12/2015 à 19h03
Le 04/12/2015 à 19h13
En tant que langage seul, en dehors de toute contrainte et éco système Apple, il y a peu d’avantage.
J’y ai jeté un coup d’oeil, c’est quand même plutôt agréable à écrire. Assez moderne et simple sans être une merdié comme JS (avis strictement perso) dès que tu commence à complexifier.
PHP ne permet pas de faire facilement des app standalone. C# est très centré microsoft même si moins vrai avec ASP.NET libre, mais ça reste marginal. Java est un vieux machin qui donne franchement pas envi d’y lancer.
De mon expérience perso, les “vieux” langages et “classiques” comme C++, Java, Obj C sont généralement appris par contraintes : parce que c’est le premier, parce que le client m’a pas laissé le choix, parce que c’était le sujet du cours à l’école. J’ai peu voire pas de connaissance ayant appris et persévéré pour le fun. Contrairement à PHP, JS & co. Et swift s’inscrit là dedans je trouve.
Je suis pas mauvais en C++, mais j’avoue que ça me fait chier de perdre du temps à triturer le langage dans tous les sens pour faire la moindre petite fonction. Quand je fais du PHP je m’éclate.
Le 04/12/2015 à 20h46
Le 05/12/2015 à 08h18
Le @ au moins est facile d’accès sur un clavier Mac :).
Bon, après, on a le ~, le \, le |, et tout le reste .. " />
Le 05/12/2015 à 11h51
Justement je me posais la question du risque de confusion en lisant le titre. Avec les yachts, il n’y avait pas ce problème. " />
edith : correction de balise
Le 05/12/2015 à 13h01
Le 06/12/2015 à 14h55
Le 07/12/2015 à 08h11
Regarde le layout d’un clavier US, tu comprendras très vite pourquoi ces caractères spéciaux sont largement utilisés en programmation… ça fait un moment que je suis passé à ce layout pour coder ;-)
Le 07/12/2015 à 09h03
+1, et peu importe l’OS
Le 07/12/2015 à 20h22
Ce qui est inédit dans l’histoire récente de l’informatique, c’est que chaque constructeur veut maintenant nous pousser vers son langage de programmation. Je ne trouve pas que cela soit un progrès car cela fragmente le marché. Si encore on laissait le choix du langage comme cela à toujours été le cas dans l’informatique…
Hélas, nous savons ce qui va se passer inéluctablement dans un cas pareil : une couche supplémentaire va se développer par dessus pour assurer le développement simultané sur toutes les plateformes. Et ce n’est pas un bien…
Bref, en plusieurs décennies, je n’ai jamais assisté à un tel retour en arrière…
Le 07/12/2015 à 21h05
Le 07/12/2015 à 23h00
J’étais plutôt conscient de ces aspects en écrivant mon commentaire (sans connaitre tous ces détails, merci pour les précisions). J’ai simplement voulu donner mon avis sur le langage Swift tel que je l’ai perçu : un langage simple mais relativement puissant. Et surtout cohérent.
Parce que contrairement à toi, je n’arrive pas à catégoriser les langages. Surtout en 2015 : on fait des apps embarquées et même serveur avec du javascript… Mais je ne suis pas développeur de métier. Je suis un bon dev web amateur, je me débrouille encore bien en C et C++ et j’ai des restes des autres langages appris à l’école (pas que des langages de programmation d’ailleurs). Pas plus.
Mes digressions sur le PHP avaient surtout pour but d’exprimer une certaine comparaison dans le confort d’écriture. En essayant d’extrapoler en dehors de l’application et du domaine, c’est celui avec lequel j’ai pris le plus de plaisir à construire des algos et systèmes. Je retrouve un peu de ça dans le bouquin Swift que j’ai lu.
Si on remet le contexte Apple dans la boucle, bah pour moi c’est du pain béni que de pouvoir enfin m’amuser avec les API OS X/iOS sans toucher à l’Obj C que j’au toujours repoussé.
Mais je trouve ce genre de discussions passionnantes :)
Le 08/12/2015 à 16h59
il ne me semble pas que M$ soit en train de libérer .Net pour se taper Swift à la place … Il semblerai juste que le modèle open-source se révèle à la fois plus pertinent, efficace et économiquement viable que le closed source …
Le 04/12/2015 à 14h51
langage made in Apple: ceci est une révolution
" />
Le 04/12/2015 à 14h53
Aucun interet de le porter sur Windows.
Par ailleurs tant qu’on a besoin d’un Mac pour compiler les apps destiner à iOS ou Mac, autant de le faire sur un Mac directement.
Si c’est pour développer des applis Windows sur Windows, autant ne pas utiliser Swift.
Bref, c’est comme Microsoft qui veut faire de pseudo open-source pour iOS et Linux dans Visual Studio.
A force, tant qu’à faire je suis passé à XCode pour faire du Swift…
La boucle est bouclée…..
Le 04/12/2015 à 14h55
Le 04/12/2015 à 15h00
Le 04/12/2015 à 15h06
Je me demande comment ils ont osé pondre un langage digne des années 90’.
Il est vrai qu’il est plus moderne que Objective C (style années 80’) et apparemment plus puissant.
Il est clair quand on veut développer en natif pour iOS ou Mac, Swift reste le meileur choix dans un monde où on n’a pas trop le choix. " />
Le 04/12/2015 à 15h28
Et les BSD ??? ils ont piqué leur noyau ça devrait pouvoir se faire sans trop de mal non ?
Le 04/12/2015 à 15h30
Y’a Appleet Applequi va recommencer à faire du clic
Le 04/12/2015 à 15h31
Bien sûr que si, ça s’appelle la communication et le marketing. Ça fait du bien à l’image de release des sources jusqu’ici proprio. Il est là l’intérêt.
Le 04/12/2015 à 15h33
Swift est maintenant plus rapide que l’objective C :http://www.jessesquires.com/apples-to-apples-part-two/
Le 04/12/2015 à 15h41
Sans aucun doute, mais ça n’empêche pas que le portage sous Linux est fait, et qu’on peut désormais faire du Swift sans acheter de Mac (je laisse l’intérêt de la chose à l’appréciation de chacun).
Le 04/12/2015 à 16h02
Yup. Mais effectivement l’intérêt est limité. Sachant que OSX tourne sur un noyau BSD si je me souviens bien, ils se sont pas trop foulés les gars quand même. Donc s’ils avaient voulus faire un vrai portage, Windows serait dans la liste :P Anyway … Apple is Apple " />
Le 04/12/2015 à 16h25
Sauf que tu as faux, Swift est crossplatform (OSX IOS LINUX) et bientot Android!
Le 04/12/2015 à 16h26
Y’a AppCode de Jetbrains (IntelliJ)
Le 04/12/2015 à 17h02
c’est un peu l’impression que ça donne.
Le 04/12/2015 à 17h12
Apple ne se souvient pas que c’est en lançant iTunes pour Windows que les ventes d’iPod ont explosées ? S’ils veulent que ce langage soit massivement utilisé ils savent ce qui leur reste à faire. Celà dit, en visant uniquement leur plateforme et Linux ils ne vont pas avoir trop de monde dans leurs forums ;)
Le 04/12/2015 à 17h48
Et sinon qqun utilise Swift et peut-il faire un retour dessus ? innovations/avantages/inconvenients par rapport aux langages classiques genre Java/C#/PHP ?