Swift est libéré, délivré

Nicolas Furno |

Chose promise, chose due : Swift est désormais open-source. Un nouveau site est dédié au nouveau langage de programmation et on peut y télécharger non seulement le code source, mais aussi le compilateur pour Linux, ce qui veut dire que l’on peut écrire des applications en Swift pour Linux (uniquement Ubuntu pour le moment). Swift est sous licence Apache 2.0.

Cliquer pour agrandir

La possibilité de coder en Swift sur Linux n’est pas anodine : ce n’est pas forcément intéressant pour les ordinateurs de bureau, mais plus pour les serveurs. Un développeur iOS ou OS X peut désormais réaliser un script ou un module serveur dans le même langage que son application, ce qui simplifiera les choses. C’était d’ailleurs l’idée de Perfect, un framework web basé sur Swift, qui n’attendait que cette étape de l’open-source pour se lancer (lire : Perfect : du Swift « côté serveur »). Jusque-là, il devait utiliser un autre langage, comme le Python, le Go ou le PHP.

Apple a aussi publié une version spécifique de Foundation, la base d’OS X et d’iOS. C’est loin d’être suffisant pour créer un système d’exploitation, mais c’est une brique importante pour faciliter la transition d’un système à l’autre. Un développeur OS X peut ainsi créer une version pour Linux de ses logiciels et en théorie, on pourrait avoir un jour des applications Android codées en Swift. Même si, dans un cas, comme dans l’autre, il faudra coder l’interface, puisque Foundation ne contient rien sur ce plan. Il manque Cocoa/UIKit, la brique qui permet de créer des interfaces, et cet élément n’est pas (encore ?) open-source.

Le site dédié au projet est encore extrêmement lent, et le code source n’est pas encore sur la nouvelle page GitHub d’Apple. Bref, c’est en cours de déploiement et au passage, Apple prévient sur le site que l’on peut attendre une nouvelle version de son langage. D’ailleurs, le code source que l’on pourra télécharger contient des éléments clés de Swift 3 : ce projet est ouvert jusqu’au bout.

Mise à jour — La page GitHub de Swift propose désormais les sources promises.

avatar Mickaël Bazoge | 
BEST TITRE EVER.
avatar heret | 

Moui, si on veut. Le contenu laisse à désirer :
La possibilité de coder en Swift
A la place de l'auteur, j'aurais honte d'étaler la pauvreté de mon vocabulaire...

avatar Seccotine | 

Tu voudrais écrire quoi à la place de coder ? C'est tout à fait compréhensible et très utilisé dans le milieu informatique. Maintenant si tu pensais être sur un site de composition musicale... c'est un autre problème.

avatar occam | 

Facit qui potest. Verba vituperat nequam.

avatar cham | 

Pitié... :-)

avatar françois bayrou | 

je l'avais oublié celle là...
En ce moment je me farcis de la Princesse Sofia 1 heure par jour...

avatar bonnepoire | 

Si tu as Netflix tente George le petit singe.

avatar Rez2a | 

Je crois que vous confondez Cocoa avec UIKit/AppKit dans votre article. Foundation fait déjà partie de Cocoa.

Dans tous les cas c'est une bonne nouvelle, Apple a tenu parole.

avatar famousneko | 

Hahahaha!
Sinon personne connaît des bons tutos niveau beginner?

avatar ThomasG | 

Entre le jeu de mot pour Temple Run et Swift, on sent la préparation pour les cadeaux de Noël des enfants de la rédac ;)

avatar iYoung | 

Encore une fois. MacG ;)

avatar Mr_Antelux | 

La notification a suffit à me mettre la musique en tête : pas merci ! ^^

avatar pommecroquee | 

@Mr_Antelux :
+1
Mais je dis merci, c'est drôle

avatar whocancatchme | 

Much hate such wow

avatar occam | 

My Taylor is rich.

avatar AllanZ | 

On sait ce que Nicolas a regardé comme film hier soir... Ah ah!

avatar Ast2001 | 

Bravo Apple !

avatar IGerard | 

Très bien, on va avoir swift sur iPad...

avatar Seccotine | 

T'as réfléchis au sens de ta réponse ?

avatar Anthony Nelzin-Santos | 
" /> ">
avatar fredix | 

Ouch c'est une attaque en règle contre golang ca... Je prédis que le premier qui permet de faire des ihm desktop sur Windows Mac Linux a gagné ...

avatar fgirardey | 

Celui qui permet de faire des IHM sur Windows Mac et Linux a déjà gagné, il s'appelle Node.js ;)

http://electron.atom.io/

avatar fredix | 

@fgirardey :
Je parle d'un truc sérieux qui génère du code natif pas du caca en Js .... Pas un langage web quoi

avatar fgirardey | 

Ah oui, je vois, tu es le genre de dev software qui renie totalement les langages web par gros manque de connaissances.

Je comprends, autant pour moi.

avatar heret | 

mais quel humour ! Il vaut mieux lire ça que d'être aveugle, quoique...

avatar fredix | 

désolé mais un langage natif pensé et conçu pour du natif sera toujours plus simple, plus rapide plus intégré au desktop que n'importe quelle daube en JS.

avatar iPal | 

@fgirardey :
Sérieusement, tu as vu la lenteur d'Atom par rapport à ST3, par exemple ? Et c'est qu'un éditeur de texte, pas une app de création graphique. Le JS sur le desktop, c'est rigolo mais pas super intéressant pour le moment.

avatar Ast2001 | 

javascript est aujourd'hui une sorte de lingua franca informatique. Bien utilisé ou avec le framework qui va bien (au boulot, mon équipe utilise AngularJS), c'est un outil redoutable qui mine de rien sous tend quasiment tout le web moderne. Donc plus universel que javascript, je ne crois pas que cela existe :-)

avatar nova313 | 

Vous faites chier Macg avec vos titres. Impossible de penser à autre chose que cette chanson ;)

En tout cas, bonne nouvelle. Reste à voir ce qu'on va en faire.

avatar EBLIS | 

Heureusement que je ne connais pas cette chanson alors :-)

avatar reno732 | 

Je ne mentirais plus jamais !
Libéré, délivré

avatar BeePotato | 

C’est mesquin, mais j’aimerais bien profiter de l’occasion pour rappeler à Mrleblanc101 un de ses commentaires sur l’article précédent : « après tant d'attente à propos de Swift "Open source" les espoirs sont rendu très mince de voir cette promesse se concrétiser ! ».

Alors, M. le pessimiste ? ;-)

avatar w3fh5 | 

Manque plus que Facetime.

avatar Sostène Cambrut | 

@BeePotato

Je me disais bien que j'avais lu quelque part des propos imbéciles de cet ordre !

avatar Sostène Cambrut | 

C'est bien cool tout ça ! Je me demande comment la communauté va accueillir la nouvelle, mais j'espère qu'on aura vite une petite distro server basée sur Darwin. Un truc assez léger pour tourner sur un RPi ce serait parfait.

avatar lmouillart | 

Darwin n'a jamais percé, faute à des bases trop fragiles par rapport à la concurrence (Linux, xBSD).
Je ne vois pas en quoi rajouter un compilateur vers un langage récent changerait la donne.

avatar Sostène Cambrut | 

@lmouillart

Darwin, des bases trop fragiles ? Ah bon ? Dans quel domaine ? Y a des gens qui évaluent chaque année la fragilité de ce noyau ou bien tu te bases sur une vieille légende urbaine ? Enfin, Darwin est un BSD il me semble, donc c'est quoi le sens de ton propos ?

Je n'ai par ailleurs jamais supposé que le compilateur Swift allait changer la donne, juste que ce serait chouette d'avoir un système open source basé sur le travail d'Apple.

avatar lmouillart | 

Darwin est déjà libre.
Ce qui est gestion graphique, système de fichier, multiprocesseur est assez pauvre dans Darwin, le système n'est pas non plus très performant par rapport à la concurrence (y compris pour les version type OS X, qui sont bien plus rapides qu'un Darwin Vanilla).

"Enfin, Darwin est un BSD il me semble, donc c'est quoi le sens de ton propos ?"
Les BSD ont pas mal évolué depuis le temps de leur fork pour NeXTSTEP notamment en ce qui concerne les points évoqués ci-dessus.

Concernant le peu de succès de la chose, j'en veux pour preuve l'arrêt ? De PureDarwin, OpenDarwin, GNUDarwin.
Concernant Darwin tout court, suffit de regard le peu de trafic concernant l'OS complet : https://lists.apple.com/archives/darwin-dev/2015.

En dehors du monde Apple, les OS d'Apple n’intéressent pas grand monde.

avatar Sostène Cambrut | 

@lmouillart

"Darwin est déjà libre"

Jamais dit le contraire.

"Gestion graphique"

La gestion graphique fait partie du noyau ? Je croyais qu'il en incombait plutôt à des framework comme OpenGL ou Metal. Tu me l'apprends. Mais je vois pas bien en quoi ta remarque est pertinente quand on voit ce que donne Metal malgré Darwin

"Système de fichier"

C'est vrai que le HFS a fait son temps, mais là encore, je ne savais pas que ça concernait le noyau, ou alors j'ai pas bien compris comment un logiciel pouvait rendre OSX compatible avec NTFS.

"Multiprocesseur"

Quelle machine est multiprocesseur aujourd'hui ? On va plutôt favoriser les rack en serveur, et le multicore pour les machines uniques.

"Le système n'est pas non plus très performant par rapport à la concurrence"

De quel point de vue ? J'ai installé sur une même machine PC Linux, Windows et OSX et c'est le système d'Apple qui se montre toujours le plus stable.

"Concernant le succès de la chose"

Tu me donnes une conséquence du manque d'intérêt, pas une cause !

"En dehors du monde Apple, les OS d'Apple n'intéressent pas grand monde"

C'est certainement ce qui explique l'intérêt d'IBM ou le succès d'ElementaryOS qui bien que n'utilisant rien des sources d'Apple (parce que c'est plus facile de se baser sur un projet bien mieux suivi par la communauté comme Ubuntu) n'a jamais caché son ambition de proposer un OS user-friendly à la sauce Apple. Dire que OSX n'intéresse pas la communauté du libre c'est de l'hypocrisie. Y a qu'à naviguer sur les forum pour s'en convaincre.

Ce qui est certain c'est que quand on est intéressé par le monde Linux/Unix et qu'on a un Mac on a pas besoin d'aller chercher la distro qui va bien.

avatar lmouillart | 

"La gestion graphique fait partie du noyau ? Je croyais qu'il en incombait plutôt à des framework comme OpenGL ou Metal. Tu me l'apprends. Mais je vois pas bien en quoi ta remarque est pertinente quand on voit ce que donne Metal malgré Darwin"
Que cela se passe en mode noyau, en mode utilisateur, ou mode mixte, il y a un certain nombre de composants qui vont permettre justement aux api (Metal/OpenGL), d'interagir avec le matériel.

Concernant Metal, c'est une api propriétaire, qui utilise elle même des éléments propriétaires interagissants avec Darwin, ils ne sont pas accessible avec du "Darwin pure".
Les pilotes pour Darwin sont aussi propriétaires.

Bref en Darwin pure et donc libre on a juste accès au framebuffer, en gros même pour déplacer une fenêtre vide c'est pas bien rapide.

"C'est vrai que le HFS a fait son temps, mais là encore, je ne savais pas que ça concernait le noyau, ou alors j'ai pas bien compris comment un logiciel pouvait rendre OSX compatible avec NTFS."
Comme pour la partie graphique, les pilotes peuvent suivant l'architecture choisie se placer à différent niveau. Dans ce cadre ils peuvent donc étendre les fonctionnalités du noyau.

"Quelle machine est multiprocesseur aujourd'hui ? On va plutôt favoriser les rack en serveur, et le multicore pour les machines uniques."
Toutes, les cœurs étant vu comme des processeurs dans les systèmes smp.

"De quel point de vue ? J'ai installé sur une même machine PC Linux, Windows et OSX et c'est le système d'Apple qui se montre toujours le plus stable."
CPU, IO, ceci dit, j'ai parlé de performance et non de stabilité.

avatar lmouillart | 

"C'est certainement ce qui explique l'intérêt d'IBM ou le succès d'ElementaryOS qui bien que n'utilisant rien des sources d'Apple (parce que c'est plus facile de se baser sur un projet bien mieux suivi par la communauté comme Ubuntu) n'a jamais caché son ambition de proposer un OS user-friendly à la sauce Apple. Dire que OSX n'intéresse pas la communauté du libre c'est de l'hypocrisie. Y a qu'à naviguer sur les forum pour s'en convaincre."

Attention Darwin n'est pas OS X, c'est un sous ensemble libre, très limité. Darwin n'intéressent ni IBM, ni ElementaryOS.

avatar BeePotato | 

@ lmouillart : « Darwin n'a jamais percé, faute à des bases trop fragiles par rapport à la concurrence (Linux, xBSD). »

Ça n’a rien à voir avec des bases soi-disant trop fragiles.
C’est juste que Darwin, arrivé après tout le monde et n’apportant rien de nouveau par rapport à une déjà très largement installée et maîtrisée de divers Linux et BSD, ne présente aucune caractéristique particulière qui mériterait que du monde y consacre des efforts. Il est parfaitement logique qu’il n’ait jamais percé dans un monde où il y avait déjà ce qu’il fallait en termes d’OS de ce genre.

avatar scanmb (non vérifié) | 

@occam
My taylor is swift

avatar scanmb (non vérifié) | 

La reine des neiges , la cop21 et le réchauffement ...
Chercher l'intrus

avatar jerome74 | 

Et maintenant, il ne leur reste plus qu'à... réécrire le compilateur Swift en Swift, au lieu de C++!

avatar Domsware | 

Super nouvelle. Swift est selon moi un très bon langage.

avatar iGeek07 | 

En plus de rendre le projet open source, ils semblent vraiment vouloir en faire quelque chose. Cet article de Ars Technica est assez intéressant sur le sujet : http://arstechnica.com/apple/2015/12/craig-federighi-talks-open-source-swift-and-whats-coming-in-version-3-0/
Je ne m'attendais pas à une telle attitude de la part d'Apple, mais là je suis très agréablement surpris!

avatar scanmb (non vérifié) | 

Pas mal comme chanteuse ...

avatar tbr | 

Zut, j'ai c'te fichue mélodie en tête !

Au secouuuurs, extirpez-la-moi du crâââne...

My Taylor is open sourced.

avatar lmouillart | 

L'ouverture de Swift était la condition nécessaire pour sa pérennisation.

Concernant son utilisation en dehors du monde Apple et notamment sous Linux (Windows n'étant pour le moment pas géré), il faudra voir si la sauce prend en dehors de quelques applications.
Malgré les qualités de l'objective-C ce langage n'a jamais percé en dehors d'Apple (et si l'on met de coté le projet GNUstep qui n'a jamais vraiment dépassé un seuil d'utilisateur permettant de sortir ce beau projet d'une utilisation de niche ou Cocotron). A ce niveau et pour Linux il faudra surtout tenter de convaincre les créateurs d'application de délaisser le quintet infernal Java, C, C++, Python, C# au profit de Swift

Comme bien souvent, la réussite en dehors du monde Apple dépendra donc du sponsoring d'Apple et de la bonne gouvernance du projet. Chris Lattner en charge ici de Swift avait déjà fait un bon boulot sur LLVM.

Concernant le monde Apple, c'est bénéfique, comme tout projet libre vs code fermé.

Pages

CONNEXION UTILISATEUR