Softwareentwicklung mit Apple Swift: Grundlagen von Swift Concurrency

Mit Version 5.5 erhielt Swift native Funktionen zum parallelen Ausführen. Das Ziel: Fehleranfälligkeit zu reduzieren und Lesbarkeit zu verbessern.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Lesezeit: 13 Min.
Von
  • Thomas Sillmann
Inhaltsverzeichnis

Code zu schreiben, der parallel auf verschiedenen Threads ausgeführt wird, ist trotz aller Hilfsmittel noch immer nicht trivial und birgt großes Fehlerpotenzial. Die Programmiersprache Swift aus dem Hause Apple zur Entwicklung von Apps für iOS und Co. stellt in dieser Hinsicht keine Ausnahme dar. Tatsächlich brachte Swift bis zur im September 2021 veröffentlichten Version 5.5 gar keine eigenen Mechanismen mit, um Code parallel auszuführen. Stattdessen kam das Dispatch-Framework zum Einsatz, das zu diesem Zweck diverse Typen und Funktionen enthält, die verschiedene Aktionen gleichzeitig ausführen.

Dieses dreiteilige Tutorial befasst sich mit dem neuen Concurrency-Modell von Swift, das mit der aktuellen Version 5.5 der Programmiersprache eingeführt wurde. In diesem ersten Artikel geht es um die Schlüsselwörter async und await, die neue Syntax async let sowie Task Groups.

Mehr zum Thema Mobile Softwareentwicklung

Bislang kamen für Parallelität in Swift vor allem Escaping Closures zum Einsatz. So erhielt eine parallel ablaufende Funktion eine Closure als Parameter, die aufgerufen wurde, sobald die Funktion alle Aktionen abgearbeitet hatte. Dieses Konzept bringt zwei Probleme mit sich: Zum einen leidet die Übersichtlichkeit bei verschachtelten Aufrufen, in denen mehrere Closures nacheinander eingesetzt werden. Auch die Reihenfolge der abgearbeiteten Befehle lässt sich bei komplexeren Konstrukten schwer nachvollziehen.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.