Apple: Neue Entwicklungsumgebung Xcode 11 mit Project Catalyst und SwiftUI ist fertig (Update)

23. Sep 2019 01:00 Uhr - Redaktion

Xcode 11 ist da: Apple hat die Finalversion der neuen, ab macOS Mojave lauffähigen Entwicklungsumgebung veröffentlicht. Xcode 11 ist in doppelter Hinsicht ein Meilenstein: Project Catalyst ermöglicht eine deutlich einfachere Portierung von iPad-Apps auf den Mac als in der Vergangenheit, während SwiftUI ein Framework der nächsten Generation zur Erstellung von Benutzeroberflächen ist.

Mit Xcode 11 können Entwickler ein bestehendes iPad-Projekt öffnen und einfach ein Feld markieren, um automatisch eine native macOS-App mit Mac-Benutzeroberfläche für die Steuerung mit Maus, Tastatur und Trackpad zu erzeugen. Dabei werden auch macOS-spezifische Funktionen wie Drag & Drop, Fenster-Management, Touch-Bar, Multi-Touch-Gesten und mehrere Monitore unterstützt.

Mac- und iPad-Version haben denselben Projekt- und Quellcode. Alle Änderungen am Code werden in beide Versionen der App übernommen. Entwickler sparen dadurch wertvolle Zeit und Ressourcen, da für die Mac-Fassung keine separate Codebasis mehr gepflegt werden muss und auch die mühsame manuelle Erstellung einer Mac-GUI nicht mehr nötig ist. Apple schreibt dazu:

"Your newly created Mac app runs natively, utilizing the same frameworks, resources, and runtime environment as apps built just for Mac. Fundamental Mac desktop and windowing features are added, and touch controls are adapted to the keyboard and mouse. Custom UI elements that you created with your code come across as-is. You can then continue to implement features in Xcode with UIKit APIs to make sure your app looks great and works seamlessly."

 
Xcode
 
Xcode 11 mit SwiftUI: Schnelle GUI-Erstellung.
Bild: Apple.

 

Viele Hersteller haben bisher den Aufwands gescheut, der erforderlich ist, um eine iOS-App auf den Mac zu portieren. Durch die neuen Technologien in macOS Catalina und Xcode 11 (die intern bei Apple unter dem Codenamen Project Catalyst laufen) wird dieser Vorgang erheblich beschleunigt, was zu einer deutlichen Ausweitung des macOS-Softwareangebots führen dürfte.

SwiftUI bietet laut Apple ein "extrem leistungsstarkes und intuitives neues Benutzeroberflächen-Framework, um anspruchsvolle App-UIs zu erstellen". Unter Verwendung von einfachem, leicht verständlichen deklarativen Code können Entwickler funktionsreiche Benutzeroberflächen inklusive flüssiger Animationen kreieren.

SwiftUI spart Entwicklern Zeit, indem es sehr viele automatische Funktionalitäten bietet, darunter Oberflächengestaltung, Dunkelmodus, Bedienungshilfen, Unterstützung für von rechts-nach-links laufende Sprachen und Internationalisierung. SwiftUI-Apps laufen nativ und sind blitzschnell. Und da SwiftUI dieselbe API auf allen Apple-Plattformen ist, können Entwickler überall schneller und einfacher native Apps entwickeln.

Zu den weiteren Neuerungen in Xcode 11 gehören ARKit 3 und RealityKit zur Erstellung von Augmented-Reality-Apps, CoreML 3 mit zusätzlichen Maschinenlernen-Funktionen, die App Create ML zur Entwicklung von KI-Modellen sowie Verbesserungen für Interface-Builder, Xcode-Server, Editor, Simulator und weitere Programmbereiche. Die kompletten Versionsanmerkungen sind auf dieser Web-Seite zu finden.

Nachtrag (12:30 Uhr): Zusammen mit Xcode 11 wurde Swift 5.1 freigegeben. Die neue Version der modernen Programmiersprache führt die sogenannte Modulstabilität ein, um die Kompatibilität von erstellten Frameworks mit künftigen Swift-Releases zu gewährleisten. Im offiziellen Swift-Blog heißt es:

"Swift 5.1 builds on the strengths of Swift 5 by extending the stable features of the language to compile time with the introduction of module stability. With module stability it’s now possible to create and share binary frameworks that will work with future releases of Swift. Swift 5.1 also extends the capabilities of the language and the standard library with new features such as property wrappers, opaque result types, key path member lookup, diffing for appropriate collection types, and new APIs for String. Altogether the new features of Swift 5.1 make it easier to design better APIs and reduce the amount of common boilerplate code."