Le nouveau standard Swift a reçu une fonction inattendue
En février 2022, l'équipe d'Apple a présenté une version préliminaire du standard Swift 6.0 lors de la conférence Swift Evolution. Les développeurs s'attendaient à des améliorations de performance et à des retouches de la programmation asynchrone, mais la principale surprise a été l'introduction de « l'Interopérabilité avec Python » — une fonction qui permet d'appeler directement du code Python depuis Swift sans ponts ni wrappers.
« Nous voulions rendre Swift plus flexible pour le prototypage et le travail avec les données, a déclaré Ted Kremenek, ingénieur principal chez Apple pour les langages de programmation. — Python est la norme en apprentissage automatique et en analytique. Désormais, les développeurs iOS peuvent utiliser des bibliothèques comme NumPy ou TensorFlow directement dans une application native ». Selon une enquête de Stack Overflow 2021, 48% des développeurs iOS ont utilisé Python au moins une fois pour le backend ou le ML — la nouvelle fonction comble ce besoin.
Selon des tests publiés dans Swift Evolution Proposal SE-0377, la performance des appels de fonctions Python depuis Swift atteint 85-95% de celle du Python natif. Cependant, l'avantage clé est la possibilité de transmettre des types de données complexes (dictionnaires, tableaux, tenseurs) sans sérialisation. Par exemple, le code :
import Pythonlet np = Python.import("numpy")let array = np.array([1, 2, 3])print(array.shape) // (3,)Fonctionne « prêt à l'emploi ». Pour comparaison : auparavant, les développeurs devaient utiliser PythonKit (un framework tiers) avec des latences allant jusqu'à 30%.
Les experts notent des risques : « L'interopérabilité peut entraîner une augmentation du code hybride, où la logique en Python se mélange avec Swift, compliquant la maintenance », prévient John Sundberg, auteur du livre Swift in Depth. Cependant, Apple a déjà mis en place des limitations : le code Python s'exécute dans un runtime isolé, et toutes les erreurs sont traitées via try/catch de Swift.
La sortie de la version stable de Swift 6.0 est prévue pour l'automne 2022. La version bêta est disponible pour les tests dans Xcode 14. Pour PythonLib, c'est un signal important : l'écosystème Swift se rapproche de la data science, ce qui ouvre de nouvelles possibilités pour les développeurs backend travaillant avec iOS et macOS.
Sources : Swift.org, Apple Developer Documentation, interview avec Ted Kremenek (2022).