Apple will mit Swift auch in der Cloud durchstarten

Full-Stack Swift: Bereit für die Cloud?

Full-Stack Swift: Bereit für die Cloud?

Apple will mit Swift auch in der Cloud durchstarten

Full-Stack Swift: Bereit für die Cloud?


Im Herbst erscheint die vierte Version von Apples Programmiersprache Swift. Im iOS- und macOS-Universum ist Swift bereits der Standard für neue Projekte. Nun soll die nächste Hürde genommen werden: Cloud und Server. Seit die Sprache unter eine Open-Source-Lizenz gestellt wurde, erscheinen regelmäßig neue Frameworks und Bibliotheken. Grund genug, sich die Entwicklungen näher anzusehen und die Frage zu beantworten, ob Swift das nächste große Ding im Backend sein kann.

Video: Wie Playgrounds und Swift den Workflow verbessern

Im Jahr 2014 gelingt Apple die Sensation. Auf der Hauskonferenz WWDC wird der begeisterten Entwicklergemeinde eine neue Programmiersprache präsentiert. Swift soll das angestaubte Objective-C ablösen und neuen Wind in die iOS- und macOS-Entwicklung bringen. Die Fans sind begeistert. Schon wenige Stunden nach der Vorstellung erscheinen Blogs und Lernseiten für die frischgeborene Sprache.

Ende 2015 erklimmt Apple die nächste Stufe und stellt die komplette Sprache inklusive der Toolchain unter die Apache-2.0-Lizenz. Der Quellcode wird auf GitHub veröffentlicht und die Sprache seitdem in einem von der Community getriebenem Prozess weiterentwickelt. Zusätzlich öffnen die Macher Swift für weitere Betriebssysteme. Auf der Homepage [1] stehen Pakete für macOS und Ubuntu bereit. Die Community werkelt an weiteren Portierungen für Windows und Android. Im Developer Survey der beliebten Entwicklerseite www.stackoverflow.com rangiert Swift 2015 auf dem ersten und 2016 auf dem zweiten Platz in der Kategorie „Most loved language“. Die für Freelancer wichtige Seite www.upwork.com listet das Entwickeln mit Swift auf Platz 2 der am schnellsten wachsenden Fähigkeiten.

Die Verfügbarkeit für Linux beflügelt die Community, Serverframeworks und Bibliotheken für Swift zu veröffentlichen. Auch namhafte Firmen werden auf die Sprache aufmerksam. IBM kündigt Anfang 2016 an, Swift in die Cloud bringen zu wollen, und veröffentlicht kurze Zeit später ein Serverframework mit dem entsprechenden Tooling. Die Unterstützung für IBMs Cloud-Dienst Bluemix folgt im Anschluss. Viele andere Entwickler erkennen das Potenzial für Swift auf dem Server. Auf GitHub finden sich zahlreiche quelloffene Frameworks, mit denen man mit wenigen Zeilen Code eine vollwertige Webanwendung auf die Beine stellen kann. Der Vorteil liegt auf der Hand: Bestehender Clientcode kann mit wenigen Änderungen direkt im Backend eingesetzt werden. iOS- und macOS-Entwickler entwickeln Full-Stack mit nur einer Sprache. Bevor wir in die Tiefe der Web­ent­wick­lung mit Swift gehen, schauen wir uns an, was Swift im Vergleich zu anderen Sprachen zu bieten hat.

Schnell, modern, sicher und interaktiv

Für den Entwurf der Sprache haben sich die Schöpfer auf vier grundlegende Eigenschaften konzentriert: Geschwindigkeit, Modernität, Sicherheit und Interaktivität. Swift setzt auf moderne Prinzipien wie protokollorientierte Entwicklung, Generics und Closures. Auch funktionale Elemente sind zu finden. C++-Entwickler werden Variablen-Pointer in Swift vermissen, für alle anderen ist das jedoch ein Sicherheitsgewinn. Pufferüberläufe und Zugriffe auf uninitialisierte Variablen gehören mit Swift der Vergangenheit an. Ein besonderes Augenmerk wird auf die Performance gelegt. In vielen Benchmarks schlägt Swift die Konkurrenten Python, Java und C++ deutlich.

Auf dem Spielplatz

Die Erfinder der Sprache legen großen Wert darauf, dass der Einstieg in die Entwicklung mit Swift leicht fällt. Das offenbart sich durch die ausgezeichnete und einsteigerfreundliche Dokumentation der Sprache und die kostenlos verfügbaren Bücher. Schon Kinder sollen lernen, mit Swift zu programmieren. Dafür dient das Spielplatzprinzip aus dem realen Leben: Eltern besuchen mit ihren Kindern Spielplätze, damit die Kinder dort wichtige Konzepte des Lebens spielerisch erlernen. Projiziert auf das Swift-Universum landet man bei Swift Playgrounds, einer iPad-App, mit der man spielerisch an die Sprache Swift herangeführt wird (Abb. 1). In mehreren Kapiteln lernt man Programmierkonstrukte wie if-Bedingungen und Schleifen kennen und wird nebenbei behutsam in algorithmisches Denken und Konzepte wie Objektorientierung eingeführt.

beuermann_swift_1.tif_fmt1.jpgAbb. 1: Swift Playgrounds auf dem iPad

Auch Firmen wie IBM sehen große Chancen darin, den Nachwuchs frühzeitig an Swift heranzuführen. Mit der Ende 2015 veröffentlichten IBM Swift Sandbox kann Swift-Code direkt im Browser ausgeführt und die Codeschnipsel können mit Freunden geteilt werden. Zu guter Letzt bietet die Sprache eine eigene REPL-Umgebung (Read Eval Print Loop) an (Abb. 2). In dieser interaktiven Programmierumgebung werden einzelne Befehle und sogar komplette Programme eingelesen und verarbeitet, und die Ausgabe wird auf dem Bildschirm angezeigt. Nach der Installation der Sprachtools ist die Umgebung über den Kommandozeilenbefehl swift erreichbar.

beuermann_swift_2.tif_fmt1.jpgAbb. 2: Die REPL-Umgebung von Swift

Hallo Welt

Swift bietet zwei Schlüsselwörter zur Definition von Variablen: let und var. Ähnlich wie in der Sprache Scala dient var dazu, eine Variable zu definieren. Das Wort let wird zur Definition einer Konstante benutzt.

var grußwort = "Hallo Welt"
let antwortAufAlleFragen = 42

Man könnte nun argwöhnisch...