Das könnte dich auch interessieren

Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung

Swift: So leicht gelingt der Einstieg in Apples neue Programmiersprache

    Swift: So leicht gelingt der Einstieg in Apples neue Programmiersprache

(Foto: Apple)

Mit Swift hat Apple bereits vor dem Release von iOS 9 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 Tutorials findet, um direkt los zu legen.

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

Finde einen Job, den du liebst zum Thema iOS

Alle Jobs zum Thema iOS
14 Reaktionen
GLSS
GLSS

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

Antworten
luckyduck
luckyduck

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
Thomas
Thomas

@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
BenWagener
BenWagener

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
BenWagener
BenWagener

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
BenWagener
BenWagener

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
hajoge
hajoge

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

Antworten
KLaus
KLaus

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
luckyduck
luckyduck

Es gibt auch deutsche Tutorials, z.B. von http://codingtutor.de - sogar ganz aktuell zu Swift2.

Antworten
alem_r
alem_r

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
Sebastian Düvel

Korrekt. Du brauchst nur noch Swift.

Antworten
Tysr@
Tysr@

Wieso nimmt Apple einfach nicht C++ ?

Antworten
irgendeinem Spinner
irgendeinem Spinner

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

Antworten
Rudnev
Rudnev

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

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen