Swift

Swift Logo

Die Programmiersprache Swift wurde von Apple entwickelt zum Programmieren von Apps für die Betriebssysteme macOS, IOS, IPadOS, watchOS und tvOS. Die Programmiersprache steht zwar auch für Windows und Linux zur Verfügung, spätestens bei der Erstellung grafischer Benutzeroberflächen ist aber ein Mac sinnvoll.


Swift ist kostenlos und Open Source. Auf dem Mac ist außer der IDE Xcode keine zusätzliche Installation erforderlich.

Apple stellt ein Handbuch zur Verfügung. Das Buch The Swift Programming Language kann kostenlos aus dem iBooks Store geladen werden.

Zusätzlich finden Sie eine ausführliche Dokumentation auf der Seite swift.org und eine tour durch grundlegende Syntax und Funktionen „A Swift Tour“.

Swift und SwiftUI

Swift wird ergänzt durch das Framework SwiftUI, also eine Sammlung von Tools, die speziell zur Erstellung von Benutzeroberflächen für Apple Betriebssysteme entwickelt wurden. Swift ist dagegen eine allgemeine Programmiersprache, mit der alle Arten von Anwendungen erstellt werden können. Swift bildet sozusagen das Grundgerüst, während SwiftUI für die grafische Gestaltung zuständig ist.

Xcode

Xcode ist Apples Integrierte Entwicklungsumgebung zum Programmieren von Swift und SwiftUI. Neben einem Editor zum Schreiben von Code bringt die IDE alle erforderlichen Tools (SDK) mit. um Projekte und Dateien verwalten. Programme kompilieren und in einem Simulator testen ist direkt aus der IDE heraus möglich.

Mit der Installation von Xcode, das kostenlos über den Mac-Appstore erhältlich ist, werden auch gleich alle erforderlichen Werkzeuge, Compiler und Bibliotheken eingerichtet.

Erste Schritte

Eine Einführung zu Xcode in englischer Sprache bietet die Seite Apple Developer

Nach dem Öffnen von Xcode leitet ein Assistent den Benutzer um ein bestehendes Projekt zu öffnen oder ein neues zu erstellen. Ggf. werden zuvor auch noch Tools nachinstalliert.

Xcode: Auswahlfenster für die Installation der Tools; die Kontrollkästchen fü macOS 14 und IOS 17 sind aktiviert.

Für einen ersten Test muss man – ähnlich wie z.B. in der Programmiersprache Java – zunächst ein Projekt erstellen. Eine einzelne Swift Datei reicht nicht aus. Alle erforderlichen Dateien und die Projektstruktur werden automatisch angelegt.

Sollte kein Willkommensbildschirm angezeigt werden, finden Sie alle Optionen über das Menü „Filr > New > Project“.

Xcode: Assistent nach dem Start

Legt man ein neues Projekt an, muss man zunächst ein Template auswählen. Ein Template enthält alle Komponenten eines vollständigen, ausführbaren Programms, Dateien und Projektstruktur.

In der oberen Leiste wählt man das Betriebssystem, für das die App erstellt werden soll, über die Icons die Art der Anwendung. Für den Anfang ist „App“ die richtige Wahl. Die meisten Tutorials für Einsteiger bauen Apps für IOS.

Xcode: Auswahl eines Template für ein neues Projekt.

Im nächsten Schritt vergeben Sie einen Namen für das neue Projekt. „Team“ kann erst einmal „None“ bleiben, für „Organization Identifier“ reicht ein Platzhalter wie z.B. „com.example“. „Interface“ und „Language“ sind schon vorgegeben, „Storage“ gibt an, wo später Daten des Benutzers gespeichert werden sollen, dies kann zunächst ebenfalls bei „None“ bleiben.

Organization Identifier – Dies ist eine Reverse-DNS-Zeichenfolge zur Identifizierung Ihrer Organisation. Bevor Sie eine App im Appstore veröffentlichen, müssen sie eine solche Unternehmenskennung haben und den Identifier entsprechend ersetzen.

Organisationsname – Dies ist der Name, der in allen Textbausteinen in Ihrem Projektordner erscheinen wird. Dieser Name ist nicht identisch mit dem Namen, der im App Store für Ihre App erscheint.

Beide Kontrollkästchen können deaktiviert werden oder bleiben.

Xcode: Eingabe der Daten für ein neues Projekt

Und schon ist ein erstes Programm entstanden, im Beispiel unten für den Mac. Im unteren Fensterbereich wird eine Vorschau angezeigt mit der Ausgabe des obligatorischen „Hello, World!“

Xcode: Im Editor ein automatisch generiertes Hello-World-Programm, im linken Bereich der Navigator mit dem Dateibaum, im rechten Bereich der Inspector, im unteren Bereich ein Vorschaufenster, das den Bildschirm eines Mac mit der Ausgabe des Programms zeigt

Die linke Seitenleiste enthält den „Navigator“ mit dem Projektdateien.

Die rechte Seitenleiste zeigt den Inspector mit u.a. Detailinformationen und der Möglichkeit der Bearbeitung von Programmteilen.

Der mittlere Bereich ist der Editor, darunter die Vorschau (Canvas).

Xcode: auf der rechten Seite ist der Attributes-Inspector eingeblendet

Um mehr Platz für den Code im Editor zu schaffen, können Sie beide Seitenleisten einklappen durch einen Klick auf die Schaltfläche:

Xcode: Schaltfläche zum Verbergen der Seitenleiste, Inspector

oder die Tastenkombination cmd + 0 für den Navigator und opt + cmd + 0 für den Inspector, alternativ auch über das Menü „View“.

UI Textgröße

Über das Menü Xcode > Settings > Allgemein können Sie für den Bereich des Navigators (das ist die linke Seitenleiste mit dem Dateibaum) mit der Option „Navigator Size: Large“ eine größere Anzeige wählen.

Eine bessere Übersicht über die Dateien erhalten Sie durch Einblenden der Dateiendungen mit der Option „File Extensions: Show All“.

Xcode: Einstellungen für den Bereich des Navigators

Themes

Unterschiedliche Themen stehen zu Auswahl unter dem Menüpunkt „Themes“. Jedes Thema kann individuell farblich angepasst werden. Dazu erstellt man eine lokale Kopie des Themes. Ebenso können Schrift und Schriftgröße gewählt werden. Der Screenshot zeigt das Thema „Civic“ mit dem Font „SF Mono Regular“ mit der Schriftgröße 23 pt.

Xcode: Auswahl eines Themas und in einem Popup-Fenster eine Auswahl für die Schriftart und Größe

Gut eignen sich auch die Presentation-Themes, sie haben bereits größeren Text und sind etwas kontraststärker:

Xcode: Vorschau für das Theme "Presentation Large"

Für jedes Thema kann auch die Schrift des Terminals (Console) angepasst werden.

Xcode: Einstellungen für die Schrift in der Konsole

Innerhalb des Editorbereichs kann der Text mit der Tastenkombination cmd + + bzw. - vergrößert und verkleinert werden.

Weitere Anpassungsmöglichkeiten gibt es nicht, so dass einige Bereiche doch recht klein bleiben.

Xcode: Einstellungen für die Konfiguration eines Projekts (App-Konfiguration)

Alle Elemente von Xcode sind aber sehr gut mit den Bedienungshilfen zugänglich. So können Sie sich beispielsweise in der App-Konfiguration im Screenshot oben alle Optionen und Symbole mit schwebendem Text vergrößert anzeigen und auch gleich vorlesen lassen.

Alternativ steht natürlich noch, wie überall auf dem Mac, die Bildschirmlupe zur Verfügung (bei gedrückter ctrl-Taste mit zwei Fingern auf dem Trackpad nach oben streichen). Die Funktion muss dazu aber über die Bedienungshilfen gesondert aktiviert sein.

Sowohl das Vorlesen mittels „Gesprochene Inhalte“ als auch mit VoiceOver funktioniert in allen Bereichen.

matching braces – Klammernpaare

Zusammengehörende Klammern finden:

Bewegt man den Cursor hinter eine öffnende oder schließende Klammer, so wird die zugehörige Klammer kurzfristig (für eine Sekunde) farbig hervorgehoben. Die Dauer der Hervorhebung reicht aber nicht aus, um die zweite Klammer in längeren Abschnitten und bei erhöhter Textgröße zu finden.

Abhilfe schafft die Markierung des Abschnittes:

  • Doppelklicken auf eine Klammer bewirkt eine Hervorhebung des gesamten vom dem Klammerpaar umschlossenen Bereiches
  • hat man auf diese Weise den gesamten Bereich hervorgehoben, so kann man mit der rechten oder linken Pfeiltaste zur jeweils entsprechenden anderen Klammer springen
  • den Bereich „zusammenfalten“: mit dem Cursor hinter der öffnenden Klammer und der Tastenkombination opt + cmd + <- (Option + Command + Pfeil-links) und mit Pfeil-rechts wieder entfalten.

Shortcuts

Viele Tastenkombinationen beschleunigen die Arbeit im Editor – einige Beispiele:

AktionTastenkombination
neue Datei erstellencommand + N
Vorschau anzeigenoption + command + P
Quick-Helphold option + click variable
Block-Commentcommand + ß
Canvas einblendenoption + command + Enter
Quick Actionscommand + Shift + A
Navigator ein- und ausblendencommand + 0
Inspector ein- und ausblendencommand + opt + 0

Alle Befehle und deren Key Bindings können Sie auch über die Menüleiste ausfindig machen, Eine Übersicht bietet „Quick Actions“ über die Tastenkombination cmd + Shift + A . Die Optionen für Kommentare und Formatierung sind unter dem Menüpunkt „Editor“ angeordnet. Ein schneller Weg einen Befehl zu finden ist der Menüpunkt Hilfe: tippt man die Anfangsbuchstaben des Befehls dort ein, schlägt Xcode passende Befehle vor und zeigt den Weg dorthin.

Canvas – Vorschau

Im rechten oder auch im unteren Bereich des Editors kann eine Vorschau eingeblendet werden. Die Option „Canvas“ aus dem Menü „Editor“ muss mit einem Haken versehen sein. Die Vorschau zeigt die Ausführung des erstellten Programms auf dem zuvor gewählten Gerät. Alle aktuellen Änderungen am Code werden unmittelbar angezeigt.

Xcode: im rechten Bereich ein Vorschaufenster mit einem IPhone auf dem das Programm aus dem Editor läuft.

Über die Schaltflächen unten rechts vergrößert man die Darstellung oder setzt sie wieder auf eine passende Größe zurück. Tastenkombinationen oder Gesten funktionieren im Preview für Iphones leider nicht. Im Preview für einen Mac aber schon, auf dem Trackpad mit zwei Fingern auseinander oder zusammen ziehen. Über das Menü „Editor > Canvas > Zoom Canvas“ lässt sich eine Vergrößerung verschiedener Stufen bis 400% auswählen.

Xcode: das Vorschaufenster zeigt einen Mac-Bildschirm, das Programm darauf wurde stark vergrößert.

Simulator

Zusätzlich zum Preview können Sie ihr Programm in einem Simulator für das jeweilige Gerät testen. Über die dreieckige Schaltfläche am oberen Editorrand, per Shortcut cmd + R oder über das Menü „Product > Run“ startet man ihn.

Xcode: das Fenster des Simulators mit einem darin laufenden "Hello-World": Programm

Die Tastenkombination cmd + Q schließt den Simulator.

Playground

Ein Xcode- Playground ist eine Test-Umgebungein der Sie Code schreiben und ausführen können. Das Ergebnis wird direkt angezeigt. Ein Playground eignet sich nicht nur zum Lernen, sondern auch generell zum Ausprobieren von Swift-Code und zum Erstellen kurzer Dokumentationen.

Die Option zum Erstellen eines Playgrounds wird im Willkommensfenster nicht mehr angezeigt, man erreicht sie über das Menü „File > New > Playground“ oder die Tastenkombination opt+ cmd+ Shift + N .

Xcode-Playground: ein Template für einen Playground auswählen

Anschließend wählt man ein Template und speichert es, am besten in einem separaten Ordner für Playgrounds.

Man erhält dann ein neues Fenster mit einem kleinen „Hello world“- Programm, das auch gleich über das Dreieck-Symbol bei den Zeilennummern gestartet werden kann.

Xcode: ein erstes Programm

Die Programm- Ausgabe in der Seitenleiste:

Xcode-Playground: ein erstes Programm wurde gestartet, die Ausgabe wird in der rechten Seitenleiste angezeigt.

Mit zusätzlichen Playgrondseiten kann man den Lerninhalt nach Themen gliedern. Eine neue Seite erstellen Sie über „File > New > Playground Page“ (opt+ cmd + N).

Xcode-Playground: eine zusätzliche Seite wurde erstellt.

Neue Seiten können beliebig benannt und auch sortiert werden.

Xcode-Playground: eine neue Seite wird erstellt, im Navigator wird ein Name vergeben.

Die Ordner Sources und Resources

Beide Ordner existieren auf der Ebene des Playgrounds selbst, deren Inhalt steht für alle Playground-Seiten zur Verfügung. Zusätzlich hat jede Seite einen eigenen Sources- und Resources-Ordner.

Sources ist für unterstützenden Swift-Quellcode gedacht, der für den Playground oder nur für die einzelne Seite verfügbar sein soll. Resources für Ressourcendateien wie Bilder, Plists, etc. , je nach Ordner für den Playground oder für die Seite.

Dokumentationen schreiben

Eine Playground-Page kann man verwenden, um Text mit Markdown-Syntax zu verfassen und damit z.B. eine kurze Dokumentation oder ein Tutorial zu erstellen.

Dazu stellen Sie dem eigenen Text zwei Schrägstriche, gefolgt von einem Doppelpunkt voran://:

Dann sollte zunächst eine Überschrift folgen und der weitere Text.

//: # Introduction

Über das Menü „Editor > Show Rendered Markup“ können Sie eine Vorschau anzeigen lassen und auch wieder zurück wechseln.

Wer möchte, legt eine eigene Tastenkombination hierfür Im Menü „Settings > Key Bindings“ an.

Xcode: im Menü "Key Bindings" wird ein neuer Eintrag erstellt für den Markdown Preview.

Vorschau mit erster Überschrift:

Xcode Playground: Vorschau für die Markdown-Syntax

Um einen mehrzeiligen Text zu erstellen, benötigen Sie andere Kommentarzeichen

/*: # Introduction
Eine Einführung in Swift-Playgrounds.

1. Variables
2. Conditions
3. Loops
4. Functions
​​
## Variables

*/

Und die Markdown- Vorschau:

Xcode: die Vorschau für die Datei "Introduction" wird angezeigt.

Neue Playground- Seiten enthalten bereits am oberen und unteren Seitenende einen Link auf die vorausgehende und die nächste Seite. Dabei wird die Reihenfolge der Seiten im Navigator zugrundegelegt.

//: [Previous](@previous)

import Foundation

var greeting = „Hello, playground“

//: [Next](@next)

In der Vorschau:

Xcode: Preview einer Playgroundseite mit Links zur vorherigen und zur nächsten Seite.

Zusätzlich können Sie weitere Links sowohl auf Playgrond- Seiten als auch auf externe Seiten erstellen. In den eckigen Klammern steht ein frei wählbarer Anzeigename, darauf folgt ohne Leerzeichen der Name der Seite, auf die verlinkt werden soll//:[Home](Introduction)//:[Homepage](https://zoom-in.info)

Einen Überblick über die Markdown-Syntax bietet die Seite:

Apple Developer, Documentation Markup Formatting

Allerdings haben beim Testen nicht alle Formatierungsregeln, die in der Dokumentation vorgestellt werden, funktioniert.

Tutorials und Bücher

Hacking with Swift

YouTube: Swiftfull Thinking

Youtube: Thomas Sillmann

The Swift Programming Language

J. D. Gauchat: SwiftUI for Masterminds


Quellen:

Apple – Swift

Apple Developer, Documentation Markup Formatting

commonmark.org

YouTube: CodeWithChris

YouTube: Steward Lynch

Hacking with Swift