Geschützte Variablen und weitere Neuerungen

Mehr Sicherheit und Stabilität in Apple Swift 5

| Autor / Redakteur: Thomas Joos / Stephan Augsten

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)

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.

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.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45770832 / Softwareentwicklung)