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.