t3n News Entwicklung

Swift: So leicht gelingt der Einstieg in Apples neue Programmiersprache

Swift: So leicht gelingt der Einstieg in Apples neue Programmiersprache

Mit hat bereits vor dem Release von eine kostenlose, neue Programmiersprache aus der Taufe gehoben. Wir zeigen euch, was es damit auf sich hat, warum es sich lohnt, Swift zu lernen und wo ihr empfehlenswerte findet, um direkt los zu legen.

Swift: So leicht gelingt der Einstieg in Apples neue Programmiersprache

(Foto: Apple)

Apples Swift im Überblick

Die Idee hinter Swift ist schnell erklärt: Apple will es Entwicklern leichter machen, für OS X und iOS zu programmieren. Derzeit erweitert Swift Objective-C, mittelfristig ist es allerdings nicht abwegig, dass die Programmiersprache aus den 80ern komplett ersetzt wird.

Bei Swift handelt es sich um eine neue Programmiersprache für Cocoa und Cocoa Touch – die beiden Frameworks für OS X, respektive iOS. Swift-Apps werden mit Apples IDE Xcode 6 erstellt. Dadurch, dass die neue Programmiersprache sich mit aktuellen Objective-C-Anwendungen versteht, können Entwickler schon jetzt ihre bestehenden Anwendungen um Swift-Code ergänzen.

xxx
Das Cheatsheet zu Swift von Ray Wenderlich ist sowohl Anfängern als auch Fortgeschrittenen zu empfehlen. (Bild: Ray Wenderlich)

Darum solltet ihr mit Swift programmieren

Swift weist gegenüber Objective-C eine ganze Reihe an Vorteilen auf. So müssen sich Entwickler beispielsweise nicht mehr um die Arbeitsspeicherzuweisung kümmern, denn Swift verwaltet den Speicher automatisch. Auch der Umgang mit Strings gestaltet sich mit Swift deutlich einfacher.

Nehmt ihr in Xcode 6 Änderungen an eurem Code vor, könnt ihr das Ergebnis dank eines Live-Previews namens „Playgrounds“ sofort sehen – auch ohne Kompilierung. Außerdem lässt sich mit der neuen Sprache nicht nur leichter coden, sondern der Code selbst lässt sich auch leichter lesen. Als Beispiel dafür eignet sich der obligatorische Hello-World-Code:

Objective-C:
#import <stdio.h>

int main (void)
{
printf ("Hello world!\n");
}
Swift:
println("Hello, world!")

Semikola können, müssen aber nach Anweisungen nicht gesetzt werden, außer ihr schreibt mehrere Anweisungen hintereinander und in einer Zeile. Hervorzuheben ist auch, dass Swift Type-Inference bietet. Das heißt, dass ihr euren Variablen bei der Deklaration keinen Typ zuordnen müsst. Vielmehr schließt der Compiler basierend auf dem übergebenen Wert einen Rückschluss darauf, welchen Typs die entsprechende Variable ist. Bei Swift weiß der Compiler dank Type-Safety auch viel mehr über die Typen, die beim Aufruf einer Methode im Spiel sind, als das bei Objective-C der Fall ist. Erfahrene Entwickler begrüßen zudem die Unterstützung von Generics. Dabei handelt es sich vereinfacht gesagt um ein Pendant zu Templates in C++ oder den generischen Typen in Java.

Viele Entwickler sind sich einig, dass Apple mit Swift viel richtig gemacht hat. Die neue Programmiersprache ähnelt Python in vielen Bereichen und dürfte damit besonders für Anfänger wesentlich leichter zu erlernen sein als Objective-C. Kritische Stimmen geben allerdings zu bedenken, dass Swift es Entwicklern erschwert, ihren Code auf andere Plattformen außerhalb des Apple-Universums zu portieren.

Erste Schritte mit Swift

Wer sich dafür interessiert, Apples neue Programmmiersprache zu erlernen, findet im Netz eine ganze Reihe empfehlenswerter Anlaufstellen für entsprechende Informationen. Im iBooks-Store findet sich mit The Swift Programming Language ein kostenloses und offizielles Buch als Einführung in die Entwicklung für OS X. Die im Buch enthaltenen Informationen finden sich auf der Apple-Entwicklerseite. Neben einer übersichtlichen Einführung in Swift findet ihr dort auch eine Tour, eine umfangreiche Beschreibung der Programmiersprache und eine Swift-Referenz.

Swift-Tutorial mit Spaßgarantie: Ein Flappy-Bird-Klon mit Apples neuer Programmiersprache entwickelt. (Bild: GitHub)
Swift-Tutorial mit Spaßgarantie: Ein Flappy-Bird-Klon mit Apples neuer Programmiersprache entwickelt. (Bild: GitHub)

Neben der offiziellen Einführung braucht ihr natürlich die Xcode-6-IDE, um loslegen zu können.

Weitere Referenzen und Swift-Libraries

Neben den schon genannten offiziellen Referenzen von Apple finden sich online einige zusätzliche nützliche Informationsquellen rund um Swift. Ray Wenderlich stellt beispielsweise eine Schnellreferenz und ein Cheatsheet für Swift zum Download zur Verfügung, die er regelmäßig aktualisiert. Bei LearnSwiftOnline finden sich dagegen eine Kurzanleitung für Strings in Swift, eine für Variablen und Konstanten und eine für Arrays. Wer auf der Suche nach angesagten Swift-Repositories ist, wird unter anderem bei GitHub fündig.

Eine tolle Anlaufstelle für iOS- und OS-X-Libraries, die in Swift geschrieben sind, ist die Swift Toolbox. Ebenfalls einen Blick wert ist Dollar.$wift  – eine Swift-Library, die Hilfsmethoden bündelt. Auch GitHub hat in Sachen Swift – wie schon erwähnt – einiges zu bieten. Empfehlenswert ist beispielsweise XCGLogger – ein Debug-Log-Framework, das sich für mit Swift umgesetzte Projekte eignet.

Swift-Tutorials für Anfänger

Blutige Anfänger sollten sich eine kürzere Einführung als das 500 Seiten starke Buch von Apple zu Swift durchlesen. Dharani Kumar umreißt beispielsweise die wichtigsten Aspekte von Swift. Fábio Rocha beginnt bei seinem Swift-Tutorial für Anfänger auf Medium ganz vorne und leitet euch auch durch die nötigen Schritte in Xcode 6. Ähnlich einsteigerfreundlich sind auch das Tutorial von Ravishanker Kusuma sowie der Swift-Guide von Amit Bijlani. Beginner werden auch beim selben Mann, der auch die schon angesprochene Schnellreferenz verfasst hat, fündig. Das Swift-Tutorial von Ray Wenderlich setzt keinerlei Swift- oder Objektive-C-Kenntnisse voraus und führt euch behutsam in 15 Minuten in die Thematik ein. Das Swift-Blog bietet ebenfalls viele empfehlenswerte Videos, von denen einige auch deutschsprachig sind.

Optionals sind nur eine der Neuerungen in Swift gegenüber Obejctive-C. (Bild: Matt Bridges / Medium)
Optionals sind nur eine der Neuerungen in Swift gegenüber Obejctive-C. (Bild: Matt Bridges / Medium)

Kleinteiligere Tutorials zu einzelnen Aspekten von Swift findet ihr beispielsweise bei weheartswift. Wer es lieber visuell hat, findet auf YouTube ebenfalls einige Videos, die sich explizit an Anfänger richten – so zum Beispiel diese Playlist. Etwas weiter in die Tiefe geht Brian Advent mit einem Swift-Tutorial für iOS, in dessen Rahmen ihr eine kleine ToDo-Listen-App entwickelt. Einen umfassenden Videokurs zu Swift mit insgesamt 68 kleinen und informativen Filmen hat udemy live gestellt.

Wer auf der Suche nach aufeinander aufbauenden und entsprechend mehrteiligen Tutorials ist, findet online die ein oder andere für Anfänger geeignete Serie. Jameson Quave bietet beispielsweise ein sechsteiliges Tutorial für Swift, in dem man lernt, eine iOS-8-App zu entwickeln. Quave startet ganz harmlos mit einem Hello-World-Programm und steigert den Schwierigkeitsgrad nach und nach. Ebenfalls zu empfehlen ist die App Swifty, mit der ihr auch unterwegs auf eurem iPhone die Programmiersprache erlernen könnt.

In dem folgenden offiziellen Video-Tutorial zeigt Apple, wie ihr mit Hilfe von Xcode und Swift in nur sechs Minuten eure eigene Foto-App entwickeln könnt:

Swift: Tutorials für Fortgeschrittene

Viele konzeptionelle Aspekte von Swift korrespondieren mit Objective-C. Eine Ausnahme bilden Optionals. Was es damit auf sich hat und wie sich diese Art von Variablen einsetzen lässt, erklärt ein Blogbeitrag auf learnswift. Etwas tiefer in die Materie geht ein Medium-Artikel von Matt Bridges. Wer sich dafür interessiert, wie der Apple-Debugger funktioniert und wie die Bug-Analyse vonstatten geht, sollte sich das offizielle Video zu LLDB-Video auf YouTube ansehen.

Für den Einsatz von Swift mit Cocoa und Objective-C stellt Apple entsprechende Informationen zur Verfügung. Ein knapp einstündiges, offizielle Video von der WWDC 2014 widmet sich der Integration von Swift mit Objective-C ausführlich. Wie sich Objective-C-Klassen in Swift für iOS-8-Apps nutzen lassen, erklärt Mark Petherbridge in einem siebenteiligen Tutorial. Wie Swift und Objective-C auf unterschiedlichen Ebenen zusammenarbeiten zeigt ein WWDC-Video, das sich Core-Foundation und C im Swift-Code widmet.

Auch ein Tutorial für das Entwickeln eines Candy-Crush-Klons mit Swift findet sich unter unseren Empfehlungen. (Bild: Matthijs Hollemans)
Auch ein Tutorial für das Entwickeln eines Candy-Crush-Klons mit Swift findet sich unter unseren Empfehlungen. (Bild: Matthijs Hollemans)

Nicht wenige der genannten, kleinteiligeren Tutorials von weheartswift richten sich an Fortgeschrittene. So hält das Blog beispielsweise ein Tutorial zu Swift-Funktionen höherer Ordnung wie Karten und Filter vor. Für fortgeschrittene Entwickler gibt es darüber hinaus eine Reihe von Tutorials mit echtem Praxisnutzen. Wir haben beispielsweise schon über ein Tutorial berichtet, mit dem sich das Spiel Flappy Bird mit Swift nachbauen lässt. In eine ähnliche Kerbe schlägt das Tutorial von Matthijs Hollemans, in dem er euch zeigt, wie ihr mit Swift einen Candy-Crush-Klon programmieren könnt. Ein weiteres schönes Projekt bietet Chris Chares mit seinem Swift-Tutorial, mit dem ihr eine App mit Geolocation-basierten Benachrichtigungen entwickelt.

Weitere Tutorials, Referenzen und Videos rund um Swift finden sich unter anderem in der empfehlenswerten Sammlung von SoSoSwift.

Kennt ihr noch weitere empfehlenswerte Swift-Tutorials für Anfänger und Fortgeschrittene?

Letztes Update des Artikels: 11. September 2015

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
14 Antworten
  1. von Tysr@ am 29.06.2014 (21:44 Uhr)

    Wieso nimmt Apple einfach nicht C++ ?

    Antworten Teilen
    • von irgendeinem Spinner am 29.06.2014 (23:13 Uhr)

      Meinst du vielleicht QML und damit eher Qt? C++ bietet gegenüber Objective-C keinen Vorteil, nur eine andere Syntax.

      Antworten Teilen
      • von Rudnev am 14.10.2014 (08:40 Uhr)

        Objective-C ist ein C ableger, daher bietet C++ schon Vorteile, da es die Erweiterung und Verbesserung von C in hinsicht objektorientierter Programmierung darstellt.

        Siehe im Beitrag:
        "Erfahrene Entwickler begrüßen zudem die Unterstützung von Generics. Dabei handelt es sich vereinfacht gesagt um ein Pendant zu Templates in C++ oder den generischen Typen in Java"

        Also nicht ganz richtig, deine Antwort.

        hf

        Teilen
  2. von alem_r am 30.06.2014 (08:28 Uhr)

    Habe ich dies richtig verstanden: Wenn ich Objectiv-C auch gar nicht nutze könnte ich mit der Version 6 komplette Apps mit Swift schreiben?

    Antworten Teilen
  3. von KLaus am 01.07.2014 (12:22 Uhr)

    Ich finde die Videos von dem Swiftblog auch voll cool. Hab di von einem Kumpel epmpfohlen bekommen und sind auch die einzigen Deutschen dich ich kenne.
    http://www.swift-blog.de/

    Antworten Teilen
  4. von hajoge am 09.10.2014 (21:27 Uhr)

    Swift beseitigt ein paar Probleme inObjectiv C von Apple, aber ist es eine Programmiersprache?

    Antworten Teilen
  5. von BenWagener am 11.09.2015 (12:08 Uhr)

    Schon schade, dass Apple da mal wieder so nen closed shop draus macht und man außerhalb des Apple-Ökosystems nichts mit anfangen kann.

    Antworten Teilen
  6. von Thomas am 11.09.2015 (12:36 Uhr)

    @BenWagener Das ist nicht korrekt.

    In dem Artikel wird nicht erwähnt, dass Apple Swift als Open-Source bereitstellen wird. Damit wird es durchaus möglich, dass auch andere Systeme Swift-Compiler implementieren. Und das wird auch ziemlich sicher passieren.
    Somit kann ich Swift-Code auf allen Systemen kompilieren für die ein entsprechender Compiler zur Verfügung steht. Das ist jetzt natürlich noch nicht gegeben aber hat das anders ausgesehen als Python oder ähnliche vorgestellt wurden?

    Antworten Teilen
    • von BenWagener am 11.09.2015 (12:45 Uhr)

      Oh, diese Meldung ist ja mal glatt komplett an mir vorbei gegangen. Da wurden sie vermutlich auch mit durch Microsoft und ihrer Aktion mit C# usw. motiviert. Na da bin ich ja mal gespannt wie das dann wird.

      Antworten Teilen
    • von BenWagener am 11.09.2015 (12:49 Uhr)

      Lese gerade, dass aber erstmal nur eine Portierung für Linux als weiteres Unix-based OS vorgesehen ist. Mal schauen inwiefern sich auch was Richtung Windows tun wird.

      Antworten Teilen
  7. von luckyduck am 02.10.2015 (22:49 Uhr)

    Es gibt auch auf Youtube ein Swift2 Tutorial, dass gerade veröffentlicht wird:

    https://www.youtube.com/playlist?list=PLd_vkQtP0KWhyMdMIKOQiPmXV1ONd3gbR

    19 Videos sind es bereits, über 30 werden es.

    Antworten Teilen
  8. von GLSS am 26.06.2016 (14:21 Uhr)

    Als Forum für Apple Swift kann ich http://www.swift-support.de empfehlen :)

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Swift
iOS 9.3: Apple stellt großes Update zum Download bereit [Update]
iOS 9.3: Apple stellt großes Update zum Download bereit [Update]

Apple hat neue Beta-Versionen für iOS, OS X und weitere Plattformen für Entwickler zum Download bereitgestellt. Wir fassen zusammen, was iOS 9.3, Apple tvOS 9.2, watchOS 2.2 und OS X 10.11.4 an … » weiterlesen

iOS 9.3.1-Bug: Apple behebt Sicherheitslücke ohne iOS-Update [Update]
iOS 9.3.1-Bug: Apple behebt Sicherheitslücke ohne iOS-Update [Update]

Apple hat letzte Woche mit iOS 9.3.1 ein kleines aber relevantes Bugfix-Udpate veröffentlicht. Jetzt stellt sich heraus, dass die neue Software eine empfindliche Sicherheitslücke aufweist: Mithilfe … » weiterlesen

Exploit für Datumsfehler in iOS 9 legt iPhones lahm
Exploit für Datumsfehler in iOS 9 legt iPhones lahm

Erinnert ihr euch noch an den Datumsfehler in iOS 9, der iPhones und iPads lahmlegt, wenn man das Datum auf den 1. Januar 1970 stellt? Forscher haben jetzt einen Exploit demonstriert, der diesen … » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?