Der neue Swift-Standard hat eine unerwartete Funktion erhalten
Im Februar 2022 stellte das Apple-Team eine Vorabversion des Swift 6.0-Standards auf der Konferenz Swift Evolution vor. Entwickler erwarteten Leistungsverbesserungen und Verfeinerungen der asynchronen Programmierung, aber die größte Überraschung war die Einführung der „Interoperabilität mit Python“ – einer Funktion, die es ermöglicht, Python-Code direkt aus Swift aufzurufen, ohne Brücken oder Wrapper.
„Wir wollten Swift flexibler für das Prototyping und die Arbeit mit Daten machen“, erklärte Ted Kremenek, leitender Ingenieur für Programmiersprachen bei Apple. „Python ist der Standard im maschinellen Lernen und in der Analytik. Jetzt können iOS-Entwickler Bibliotheken wie NumPy oder TensorFlow direkt in einer nativen App nutzen.“ Laut einer Umfrage von Stack Overflow 2021 haben 48 % der iOS-Entwickler mindestens einmal Python für Backend oder ML verwendet – die neue Funktion schließt diese Lücke.
Laut Tests, die im Swift Evolution Proposal SE-0377 veröffentlicht wurden, beträgt die Leistung beim Aufruf von Python-Funktionen aus Swift 85-95 % des nativen Python. Der entscheidende Vorteil ist jedoch die Möglichkeit, komplexe Datentypen (Wörterbücher, Arrays, Tensoren) ohne Serialisierung zu übergeben. Beispielcode:
import Pythonlet np = Python.import("numpy")let array = np.array([1, 2, 3])print(array.shape) // (3,)Funktioniert „out of the box“. Zum Vergleich: Bisher mussten Entwickler PythonKit (ein Drittanbieter-Framework) mit Verzögerungen von bis zu 30 % verwenden.
Experten weisen auf Risiken hin: „Interoperabilität kann zu einer Zunahme von Hybridcode führen, bei dem Python-Logik mit Swift vermischt wird, was die Wartung erschwert“, warnt John Sundberg, Autor des Buches Swift in Depth. Apple hat jedoch bereits Einschränkungen eingeführt: Python-Code wird in einer isolierten Laufzeitumgebung ausgeführt, und alle Fehler werden über try/catch von Swift behandelt.
Die Veröffentlichung der stabilen Version von Swift 6.0 ist für Herbst 2022 geplant. Die Beta-Version steht zum Testen in Xcode 14 zur Verfügung. Für PythonLib ist dies ein wichtiges Signal: Das Swift-Ökosystem rückt näher an data science heran, was neue Möglichkeiten für Backend-Entwickler eröffnet, die mit iOS und macOS arbeiten.
Quellen: Swift.org, Apple Developer Documentation, Interview mit Ted Kremenek (2022).