SwiftUI erlaubt plattformübergreifende Apps

Mit SwiftUI hat Apple ein neues GUI-Framework vorgestellt, das es ermöglicht, in einer Designsprache alle Apple-Plattformen abzudecken.

In Pocket speichern vorlesen Druckansicht 43 Kommentare lesen
SwiftUI erlaubt plattformübergreifende Apps

Apple Softwarechef Craig Federeghi stellt SwiftUI auf der Entwicklerkonferenz vor

(Bild: Apple)

Lesezeit: 1 Min.
Von
  • Thomas Kaltschmidt

Bei dem auf seiner Entwicklerkonferenz WWDC präsentierten Framework SwiftUI handelt es sich um eine deklarative Sprache, mit deren Hilfe Programmierer dank simpler und kompakter Syntax sehr komfortabel Bedienoberflächen beschreiben können. Der Clou: Aus demselben Code sollen sich so sich alle Apple-Plattformen, von iOS, iPadOS, macOS, tvOS bis hin zu watchOS abdecken lassen.

Apple WWDC 2019

Mit sehr wenig Code lässt sich mit SwiftUI eine komplette App mit Oberfläche erstellen.

(Bild: Apple)

Der InterfaceBuilder von Xcode 11 und SwiftUI sind gekoppelt. Das bedeutet, Änderungen im Code spiegeln sich sofort im InterfaceBuilder wieder und Design-Änderungen in der View-Voransicht führen automatisch zu Anpassungen im Code. Passende Funktionen in Kontext-Menüs sorgen für schnelle Umgestaltungen, etwa um eine Liste anders darzustellen. Alle Änderungen spiegeln sich dynamisch wieder, also während die App läuft.

SwiftUI (5 Bilder)

SwiftUI ist ein neues UI-Framework, entwickelt in Swift, für Swift. Es vereint quasi AppKit und UIKit.

Man kann komplette Apps in wenigen Zeilen SwiftUI-Code schreiben, es lassen sich aber auch plattformspezifische Views aus UIKit oder AppKit in so einem Projekt kombinieren. Das wird auch nötig sein, denn SwiftUI bildet zunächst nur einen Teil der verfügbaren Controls für die verschiedenen Apple-Systeme ab – praktisch den kleinsten, gemeinsamen Nenner, der auf allen Plattformen verfügbar ist und Sinn ergibt. Besonderen Reiz dürfte SwiftUI für Einsteiger haben, die mit dem InterfaceBuilder von Xcode überfordert sind.

SwiftUI erscheint zusammen mit Xcode 11 im Herbst, eine Betaversion für registrierte Entwickler steht zum Download bereit. (thk)