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.
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“.
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.
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.
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!“
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).
Um mehr Platz für den Code im Editor zu schaffen, können Sie beide Seitenleisten einklappen durch einen Klick auf die Schaltfläche:
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“.
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.
Gut eignen sich auch die Presentation-Themes, sie haben bereits größeren Text und sind etwas kontraststärker:
Für jedes Thema kann auch die Schrift des Terminals (Console) angepasst werden.
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.
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:
Aktion | Tastenkombination |
---|---|
neue Datei erstellen | command + N |
Vorschau anzeigen | option + command + P |
Quick-Help | hold option + click variable |
Block-Comment | command + ß |
Canvas einblenden | option + command + Enter |
Quick Actions | command + Shift + A |
Navigator ein- und ausblenden | command + 0 |
Inspector ein- und ausblenden | command + 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.
Ü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.
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.
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
.
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.
Die Programm- Ausgabe in der Seitenleiste:
Mit zusätzlichen Playgrondseiten kann man den Lerninhalt nach Themen gliedern. Eine neue Seite erstellen Sie über „File > New > Playground Page“ (opt
+ cmd
+ N
).
Neue Seiten können beliebig benannt und auch sortiert werden.
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.
Vorschau mit erster Überschrift:
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:
Links
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:
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
The Swift Programming Language
J. D. Gauchat: SwiftUI for Masterminds