Mit der Swift Playgrounds-App hat Apple das Programmieren mit Swift auch auf das iPad gebracht. Wie der Name bereits andeutet, handelt es sich dabei aber nicht um eine vollwertige Entwicklungsumgebung, wie Sie Apple mit Xcode auf dem Mac anbietet. Vielmehr dient die App zwei grundlegenden Einsatzzwecken:

  1. Dem Lernen des Programmierens mit Swift.
  2. Dem Experimentieren mit Swift-Code.

An diesem ursprünglichen Kredo der App hat sich seit ihrer erstmaligen Veröffentlichung vor über einem Jahr nichts geändert. Doch was leistet die Swift Playgrounds-App heute, die vor wenigen Monaten die Version 2 erreicht hat? Und für wen ist sie gedacht?

Swift lernen

Apple’s Fokus bei Swift Playgrounds liegt zweifelsohne auf dem Lernaspekt, den die App mit sich bringt. Das fällt bereits auf, wenn man die App nur startet und einen neuen Playground erstellen möchte; es werden einem dann zunächst prominent die verschiedenen „Programmieren lernen“-Playgrounds angeboten, die dabei helfen sollen, die grundlegenden Konzepte der Programmierung mit Swift zu verstehen und ersten eigenen Code zu schreiben.

Abbildung 1: Apple bietet eine Vielzahl an Vorlagen, um das Programmieren mit Swift zu lernen.

Abbildung 1: Apple bietet eine Vielzahl an Vorlagen, um das Programmieren mit Swift zu lernen.

Von der kindlichen Aufmachung sollte man sich hierbei keinesfalls täuschen lassen: Die Playgrounds steigern sich kontinuierlich in ihrer Komplexität und motivieren nicht nur Kinder und Jugendliche bei der Lösung der verschiedenen Aufgaben. Auch ich persönlich habe mich gerne mit diesen Playgrounds auseinandergesetzt und interessiert beobachtet, wie sich der von mir geschriebene Code auf das Verhalten der verschiedenen knuffigen Charaktere auswirkte.

Diese auf das Lernen zugerichtetem Playgrounds setzen sich aus diversen Kapiteln zusammen, in denen die Nutzer verschiedene Aufgaben erwarten, die sie durch Schreiben von passendem Swift-Code lösen. Neben den Playgrounds der „Programmieren lernen“-Reihe bietet Apple auch diverse „Herausforderungen“ an, in denen die Nutzer experimentieren und ihr bis dato erlangtes Wissen in der Praxis anwenden können. Hierbei unterscheidet Apple zwischen Herausforderungen für Anfänger und solche für Fortgeschrittene.

Mit Swift programmieren

Wer die Playgrounds kennt, die sich mithilfe der Entwicklungsumgebung Xcode auf dem Mac erzeugen lassen, weiß, dass diese primär zum Experimentieren und zum Testen einzelner Programmteile gedacht sind. Für genau diese Zwecke lässt sich auch die Swift Playgrounds-App einsetzen. Hierfür erstellt man schlicht einen neuen leeren Playground und beginnt darin, ein bestimmtes Problem zu lösen oder eine eigens geschriebene Funktion zu testen.

Ein solcher Playground setzt sich aus ein oder mehreren Seiten zusammen, die unabhängig voneinander ihren eigenen Code besitzen. Variablen, Funktionen und Typen, die auf einer Seite umgesetzt wurden, stehen somit nicht auf den anderen Seiten desselben Playgrounds zur Verfügung.

Im Gegensatz zu den Playgrounds, die mithilfe von Xcode ausgeführt werden, wird der in Swift Playgrounds geschriebene Code nicht automatisch nach jeder Änderung kompiliert und ausgeführt; hierfür ist ein konkreter Tap auf die „Meinen Code ausführen“-Schaltfläche notwendig. Allerdings werden potentielle Fehler im Code bereits während des Schreibens durch rote Punkte am Beginn der entsprechenden Zeile markiert, was es einem erlaubt, schnell auf potentielle Probleme zu reagieren.

iPad-optimierte Bedienung

Einer der größten Vorteile von Swift Playgrounds liegt in der immens starken Optimierung der App für das iPad. Die im jeweiligen Kontext zur Verfügung stehenden Befehle werden oberhalb der Tastatur eingeblendet und können so schnell ausgewählt werden (es sei denn, die Liste ist zu lang und bietet eine zu große Auswahl an Optionen; dann ist sie eher unübersichtlich und wenig hilfreich). Diese Schnellauswahl ist vergleichbar mit der Auto Completion von Xcode und passt sich entsprechend der getätigten Eingaben an.

Über ein Dropdown-Menü lassen sich zudem per Fingertip direkt Schleifen, Abfragen, Funktionen oder Klassen erstellen und im Playground einfügen, ohne dafür eine einzige Zeile Code schreiben zu müssen. Man muss dann lediglich den eingefügten Rumpf noch ausfüllen (bei einer Klasse beispielsweise durch Angabe des Klassennamens und durch die Implementierung der gewünschten Properties und Methoden).

Abbildung 2: Dank eines passenden Dropdown-Menüs können ganz schnell Rümpfe für Schleife und Funktionen erzeugt werden.

Abbildung 2: Dank eines passenden Dropdown-Menüs können ganz schnell Rümpfe für Schleifen und Funktionen erzeugt werden.

Auch Bilder und sonstige Dokumente können auf diese Art und Weise einfach und unkompliziert einem Playground hinzugefügt werden. Was Bilder betrifft, können entweder solche direkt aus der App heraus aufgenommen oder aus einer anderen Quelle heraus (zum Beispiel der native Fotos-App von iOS) importiert werden.

iOS-Entwicklung mit UIKit, ARKit und mehr

Möchte man mit Swift Playgrounds eigenen Swift-Code schreiben und bestimmte Funktionen testen, ist man nicht allein auf die Möglichkeiten der Swift Standard Library beschränkt. Auch Frameworks wie UIKit, Core Data oder selbst ARKit können in Playgrounds importiert und deren Typen und Funktionen eingesetzt werden.

Gerade wenn man mit den Arbeiten an einem bestimmten Framework wie ARKit beginnt und dessen Funktionalität erst noch kennenlernen muss, ist diese Unterstützung durch die Swift Playgrounds-App ein enorm spannender Aspekt. Sie erlaubt es, realen Code auf Basis dieser Frameworks zu schreiben und auszuführen, ohne dafür extra an einem Mac mit Xcode arbeiten zu müssen.

Abbildung 3: Selbst komplexe Frameworks wie ARKit werden inzwischen von Swift Playgrounds unterstützt.

Abbildung 3: Selbst komplexe Frameworks wie ARKit werden inzwischen von Swift Playgrounds unterstützt.

Größtes Problem hierbei ist die fehlende Flexibilität und die geringere Leistungsfähigkeit des iPad. Mit Xcode auf einem Mac lassen sich direkt ganze Projekte erstellen und die Tests schnell auf zusätzliche Teile einer App ausweiten. Und auch wenn aktuelle iPad-Modelle dank des modernen A10-Prozessors extrem flott arbeiten, brauchen sie im Gegensatz zu einem potenten Mac trotzdem spürbar ihre Zeit, bis sie manches Code-Konstrukt vollständig kompiliert und ausgeführt haben.

Fazit: Für wen lohnt’s sich?

Ich persönlich bin ein sehr großer Fan der Swift Playgrounds-App von Apple. Sie ist in meinen Augen eine großartige Möglichkeit, um das Programmieren mit Swift auf dem iPad zu lernen und dabei jede Menge Spaß zu haben. Auch zum schnellen Schreiben und Testen eigener Funktionen ist die App wunderbar geeignet.

Geht es aber um komplexere Problemstellungen, kommt man mit der App möglicherweise schnell an seine Grenzen. Dadurch, dass der Code eigens kreierter Playgrounds nicht über mehrere Seiten hinweg geteilt werden kann, müssen alle benötigten Befehle in einem Dokument untergebracht werden; das kann dann sehr schnell sehr unübersichtlich werden.

Das heißt aber keinesfalls, dass sich Swift Playgrounds für gestandene App-Entwickler nicht lohnen würde. Kleinere Funktionen lassen sich mit der App wunderbar umsetzen, was beispielsweise unterwegs enorm praktisch sein kann (schließlich hat nicht jeder unterwegs immer ein MacBook zur Hand). Ich selbst nutze die App gerne um ein wenig mit Swift zu experimentieren und mich ab und an an den von Apple angebotenen Herausforderungen zu versuchen.

Was die Zukunft bringt

Wir dürfen sehr gespannt sein, wie sich die Swift Playgrounds-App in Zukunft noch weiterentwickeln wird. Sie unterstützt momentan die aktuelle Version 4 von Swift, ein Update für Version 5 im Herbst kann man wohl als sicher voraussagen. Auch weitere Frameworks, die einem ansonsten nur über die Entwicklungsumgebung Xcode zur Verfügung stehen, werden wohl langfristig ihren Weg in Swift Playgrounds finden.

Tatsächlich glaube ich, dass Swift Playgrounds in gewisser Weise nur der Anfang ist. Ein ausgewachsenes vollumfängliches Xcode wird sehr wahrscheinlich nie seinen Weg auf das iPad finden, aber ich kann mir sehr gut vorstellen, dass App-Entwickler langfristig auch die Möglichkeit erhalten werden, richtige Apps auf dem iPad zu entwickeln. Die Erfahrungen, die Apple bis zur Realisierung einer solchen Lösung mit Swift Playgrounds sammelt, kann uns da am Ende nur zugute kommen.

Im Juni steht wie immer Apple’s Entwicklerkonferenz WWDC an. Dort werden wir sicherlich Neues über die Zukunft der Swift PlaygroundsApp erfahren. Und vielleicht die ein oder andere Überraschung erleben, was das Programmieren auf dem iPad betrifft; warten wir’s ab. 🙂