Swift s'ouvre, Craig Federighi aussi. Le Senior Vice President en charge de l'ingénierie logicielle a répondu aux questions d'Ars Technica et The Next Web sur le passage en open source du nouveau langage de programmation d'Apple.
Pourquoi rendre Swift open source ?
Si l'entreprise californienne a décidé de placer sa création sous licence Apache 2.0 (la même que celle utilisée par Microsoft pour une large partie de son framework .NET), c'est parce qu'elle croit dur comme fer qu'il s'agit du langage de programmation majeur pour les 20 prochaines années.
Selon Craig Federighi, il y avait une forte demande des développeurs, y compris de ceux de grosses compagnies comme IBM, pour réaliser toutes sortes d'applications en Swift. « Nous avons pensé que le meilleur moyen de rendre cela possible était au bout du compte le passage en open source. »
Le dirigeant justifie également cette ouverture peu commune chez Apple par la volonté de faire de Swift un langage largement enseigné :
Nous travaillons avec beaucoup de professeurs qui sont très intéressés par Swift parce que c'est un langage expressif qui permet d'introduire toutes sortes de concepts de programmation. Le rendre open source permet à ces professeurs de vraiment l'intégrer dans le cœur de leur programme scolaire.
Craig Federighi présente aussi cette ouverture comme une suite logique du développement de Swift 2. Il explique que bon nombre de changements apportés par cette mise à jour sortie en juin dernier ont été guidés par les retours des développeurs. Libérer Swift va permettre « d'approfondir considérablement cette interaction » avec les développeurs, estime-t-il.
Comment sera géré le projet ?
Et pour montrer que ce ne sont pas des paroles en l'air, il souligne que « l'équipe Swift va entièrement faire évoluer le langage au grand jour sur GitHub. Les modifications vont apparaître quotidiennement, y compris pour Swift 3.0. »
Plutôt qu'avoir à digérer une grosse mise à jour à la prochaine WWDC comme ce fut le cas avec Swift 2, les développeurs peuvent d'ores et déjà suivre les évolutions en temps réel sur GitHub.
L'une des nouveautés introduites aujourd'hui est le Swift Package Manager, un dépôt pour les modules Swift qui va progresser avec l'aide de la communauté. En plus de GitHub qui héberge le code, Apple a mis en place le site Swift.org qui sert de plateforme.
De nouveaux horizons
Apple a libéré dès le départ le compilateur pour Linux, qui permet donc d'écrire des applications en Swift pour Linux (seulement Ubuntu pour le moment). Et Windows ? Le responsable de l'ingénierie logicielle déclare que le système d'exploitation de Microsoft n'était pas une priorité pour le lancement, mais qu'il est très ouvert à l'idée d'une compatibilité avec celui-ci dans le futur. « Je pense qu'il est prévisible que quelqu'un dans la communauté, qu'il soit mené par Microsoft ou par d'autres, fasse ce portage. »
Il s'attend aussi à ce que la communauté pousse rapidement Swift dans les serveurs et l'utilise pour des applications de big data ou de machine learning, entre autres (lire : Perfect : du Swift « côté serveur »).
À plus court terme, Craig Federighi assure être conscient des lacunes de ce jeune langage, en particulier le problème de compatibilité ; la version actuelle de Xcode peut se retrouver dans l'incapacité de compiler du code Swift 1.x créé il y a moins d'un an. « Nous allons fournir des outils pour aider les développeurs à faire avancer leur code source », promet-il. L'un des objectifs de Swift 3.0 sera de faciliter ce cheminement de « vieux » code à travers le temps en évitant autant que possible la réécriture.
« Objective-C ne va pas disparaître »
Pour conclure, le dirigeant se veut rassurant sur Objective-C, qui « ne va pas disparaître », du moins pas tout de suite.
Nous aimons toujours le langage Objective-C. Nous sommes toujours très dépendants d'Objective-C et faisons encore une énorme part de notre travail avec lui ici à Apple. Nous allons continuer de le faire évoluer autant que nécessaire pour l'adapter à un monde en constante évolution.
Néanmoins, c'est bien Swift qui représente l'avenir. Craig Federighi « recommande » aux nouveaux développeurs et à ceux commençant de nouveaux projets d'adopter Swift. « Nous pensons que Swift est vraiment le bon point de départ. »