Suchen

Geschützte Variablen und weitere Neuerungen Mehr Sicherheit in Swift 5

| Autor / Redakteur: Thomas Joos / Stephan Augsten

Mit der Programmiersprache Swift 5 verbessert Apple auch die Sicherheit des Speichers, indem der Zugriff auf Variablen während einer Änderung blockiert wird. Das soll vor allem die Stabilität verbessern.

Firma zum Thema

Die fünfte Version von Apple Swift hilft Entwicklern unter anderem mit Meldungen zu Speicherkonflikten.
Die fünfte Version von Apple Swift hilft Entwicklern unter anderem mit Meldungen zu Speicherkonflikten.
(Bild: Apple)

Swift stellt in der Apple-Welt die wichtigste Programmiersprache dar, wenn es darum geht Apps für die verschiedenen Apple-Betriebssysteme zu entwickeln. In der neuen Version 5 von Swift baut Apple die Sicherheit, Stabilität und Leistung der Programmiersprache aus. Die Entwicklung mit Swift funktioniert im Übrigen auch unter Windows 10 mit dem Linux-Subsystem sowie in Cloud-Diensten.

In Swift 5 hat Apple unter anderem eine Verbesserung des Zugriffs auf Variablen integriert. Wenn eine Variable geändert wird, erlaubt Swift 5 keinen gleichzeitigen Zugriff auf diese Variablen mit einem anderen Namen. Das verhindert, dass ein Programm einen Fehler verursacht. Ab Swift 5 können auch Release Builds eine Prüfung auf exklusiven Speicherzugriff durchführen, aktuell ist das nur für Debug Builds möglich.

Bis zu Swift 5 hat der Swift-Compiler für jeden Code eine eigene Binärversion erstellt. Ab Version 5 ist das nicht mehr notwendig. Dadurch lassen sich auch die Nachfolger von Swift 5 effektiver nutzen, da Apps betriebssystemübergreifend entwickelt werden können. Dafür ist das „Application Binary Interface“ (ABI) verantwortlich. Über dynamische Diagnosen sollen sich Probleme bei Klassentypen abfangen lassen, die mit statischen Diagnosen nicht während der Kompilierung gelöst werden können.

Zusammen mit der Exclusivity Enforcement beim Zugriff auf Variablen im Speicher sorgt ABI für Kompatibilität und Stabilität beim Einsatz von Runtimes, Libraries und Apps, die auf Swift basieren. Die Möglichkeiten von Exclusivity Enforcement und die Vorgehensweisen, sowie Code-Beispiele sind im Blog-Beitrag „Swift 5 Exclusivity Enforcement“ zu finden. Auf GitHub enthält der Beitrag „Enforce Exclusive Access to Memory” ebenfalls wertvolle Informationen.

Development Snapshots auf GitHub verfügbar

Aktuelle Development Snapshots von Swift 5 sind auf GitHub verfügbar. Auch unter Linux ist der Einsatz von Swift möglich. Hier muss der entsprechende Paketmanager allerdings die Swift-Version unterstützen. Für macOS steht ein Installationsprogramm zur Verfügung.

(ID:45755228)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist