App-Entwicklung mit Apple Swift, Teil 1

Kann wirklich jeder programmieren lernen?

| Autor / Redakteur: Christian Rentrop / Stephan Augsten

Swift Playgrounds auf dem iPad soll das Erlernen der Programmiersprache kinderleicht machen.
Swift Playgrounds auf dem iPad soll das Erlernen der Programmiersprache kinderleicht machen. (Bild: Rentrop / Apple)

Mit der Programmiersprache Swift will Computerhersteller Apple seine Design-Prinzipien auch auf Programmiersprachen übertragen: Einfach soll es sein, jeder soll es verstehen. Im Idealfall auf Apple-Geräten. Trotzdem ist Swift aber erstaunlich mächtig.

Apple ist bekannt für drei Dinge: Einfache, einsteigerfreundliche Bedienung, eigene proprietäre Lösungen – und gehobene Preise. Auf die Programmiersprache Swift treffen immerhin die zwei positiven Faktoren dieser Aufzählung zu, aber auch in Sachen Preisgestaltung hat Apple sich zurückgehalten.

Swift ist nicht nur kostenlos, sondern auch noch quelloffen unter Apache 2.0-Lizenz. Allerdings ist die derzeit trotzdem weitestgehend auf Apple-Plattformen beschränkt, wenn es inzwischen auch schon Compiler für Ubuntu-Linux gibt, die allerdings ihrerseits nur für Apples macOS, iOS, tvOS und watchOS kompilieren können. Es gibt auch eine inoffizielle Windows-Version des Compilers von Han Sangjin, die die Programmierung und Kompilierung unter Windows ermöglicht.

Swift soll das Programmieren und vor allem das Erlernen von Development Skills deutlich erleichtern. So gibt es mit Swift Playgrounds zum Beispiel eine iPad-App, die das spielerische Erlernen der Programmiersprache ermöglichen soll.

Was ist Swift eigentlich?

Apple hat Swift 2014 vorgestellt. Die Programmiersprache ist ein Hybrid, der laut Chefarchitekt Chris Lattner „Ideen von Objective-C, Rust, Haskell, Ruby, Python, C++ CLU und vielen anderen“ aufgreift. Trotz ihrer relativen Jugend hat Apple die letzten Jahre genutzt, um Swift vor allem im Hochschul-Umfeld zu platzieren, als Lernhilfe. Die Sprache ist Teil vieler Informatik-Lehrgänge, dient aber auch schon als konkrete Programmiersprache für die App-Entwicklung.

Einige erfolgreiche iOS-Apps, darunter LinkedIn, AirBnB, VSCO oder Sky Guide sind bereits mit Swift entwickelt worden, wodurch die Sprache ihre Praxistauglichkeit durchaus bewiesen hat. „Ich hoffe, dass wir die nächste Generation von Programmierern ansprechen und dabei helfen werden, die Art und Weise, wie Informatik unterrichtet wird, neu zu definieren, indem wir das Programmieren zugänglicher und unterhaltsamer machen“, schreibt Lattner auf seiner Homepage.

Praktische Live-Vorschau

Dass Swift diesen Anspruch durchaus erfüllen kann, zeigt ein Blick in die Programmierumgebung: In Apples XCode können sogenannte Playgrounds für Swift angelegt werden, in denen Code geschrieben werden kann. Wie genau das passiert, beschreibt Apple im Handbuch zu Swift, das – wie sollte es anders sein – nur über Apples iBook-Store erhältlich, dafür aber kostenlos ist.

Hier wird von der Pike auf erklärt, wie Swift funktioniert – und welche Möglichkeiten es bietet. Praktisch ist dabei vor allem ein Feature, das Swift bietet: Die Live-Vorschau-Funktion. Das Programm wird sozusagen live kompiliert, der Programmierer kann sich auf der rechten Seite des Fensters anschauen, wie das Ergebnis des Codes aussieht, den er links eingegeben hat. Dadurch ist Swift vor allem für Einsteiger hilfreich, ohne aber erfahrene Programmierer unnötig einzuschränken.

Ein erster Schritt in Swift

Swift greift auf diverse systemspezifische Bibliotheken von Apple-Plattformen zu.
Swift greift auf diverse systemspezifische Bibliotheken von Apple-Plattformen zu. (Bild: Rentrop / Apple)

Dass Apple sich bei der Entwicklung von Swift Gedanken im Hinblick auf Einfachheit gemacht hat, wird schon mit der ersten Zeile im Editor deutlich. Um ganz klassisch ein „Hallo Welt“ auszugeben, reicht ein einfacher String:

print ("Hallo Welt")

Das war es dann auch schon, das Programm erzeugt die Ausgabe, wie das Fenster rechts verrät. Schon hier wird ersichtlich, dass Apple ganze Arbeit geleistet hat: Durch die Integration einer Vielzahl vordefinierter System-Bausteine, sogenannter Kits, kann mit nur wenigen Zeilen Code ein Programm entstehen.

Einfache Programme sind auf diese Weise schnell erstellt, wie das Demo-Projekt „Newtons Cradle“ beweist.
Einfache Programme sind auf diese Weise schnell erstellt, wie das Demo-Projekt „Newtons Cradle“ beweist. (Bild: Rentrop / Apple)

Deutlich wird das zum Beispiel beim Demo-Projekt „Newtons Cradle“, das immer wieder auf Apples Website als Demoprojekt in Screenshots erscheint: Die Mini-App simuliert ein Kugelstoßpendel und greift dafür auf das bereits vorhandene UI-Kit von Apple zu. Mehr Code-Beispiele gibt es zum Beispiel in den Awesome Swift Playgrounds bei GitHub.

Lerneffekt durch Einfachheit und Leistungsstärke

Durch die einfache Struktur des Codes ist es sogar absoluten Programmier-Neulingen möglich, recht einfach vorhandene Playgrounds zu analysieren und mit dem Code zu spielen. XCode gibt bei Fehlern im Quellcode zudem praktische Hinweise, worin der Fehler liegt. Trotzdem ist Swift keinesfalls so einfach, dass sich erfahrene Programmierer hier eingeschränkt oder unterfordert fühlen.

Die Objektorientierung ist ebenso gegeben wie der Zugriff auf alle denkbaren Input- und Output-Schnittstellen. Sogar verteilte Webanwendungen sind denkbar. Die Swift-Community ist sehr aktiv; und da Apple natürlich ein Interesse daran hat, dass sich die Sprache durchsetzt, wird auch auf Vorschläge aus der Entwicklergemeinde eingegangen.

Ideal für Unternehmen?

Ob Swift sich letztlich als Grundlage für die Programmierung in einem Unternehmen verwenden lässt, ist allerdings eine andere Frage. Kleine Startups, die mit Apps Geld verdienen möchten, erhalten mit Swift die nötigen Werkzeuge, um zum Beispiel iOS-Software recht einfach auf MacOS zu portieren – und umgekehrt. Gleiches gilt für Unternehmen, die eine App als Endkunden-Software entwickeln wollen, um die eigenen Services besser zu vermarkten. Portal-Betreiber können mit der Sprache recht einfach Apps für die eigenen Dienstleistungen auf den verschiedenen Apple-Plattformen anbieten.

Auf der anderen Seite ist Swift seitens Apple natürlich zunächst auf Apple-Geräte beschränkt. Compiler für Windows und Android existieren zwar, allerdings fehlt ihnen die SwiftCoreLibrary. Da Swift stark auf Apple-Technologien setzt, muss vor dem Einsatz eine Analyse stehen, ob sich die Sprache für die gewünschten Aufgaben eignet. Trotz aller Einfachheit könnte sind in der Folge möglicherweise hoher Portierungsaufwand auftreten, um Quellcode in andere Sprachen zu überführen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45363183 / Frameworks & Sprachen)