© S&S Media
Einstieg in Apples quelloffene Programmiersprache

Swift für C#-Entwickler


Seit der Übernahme von Xamarin durch Microsoft verfügen .NET-Entwickler über eine leistungsstarke und kostenfreie Alternative zur Entwicklung nativer Apps für iOS und OS X. Unter diesem Gesichtspunkt stellt sich die Frage, ob sich ein Blick in Richtung Swift für C#-Entwickler lohnt. Windows Developer sagt „Ja!“ und liefert in diesem Artikel eine erste Einführung.

Die native Entwicklung von iOS-Apps war mit Objec­tive-C alles andere als komfortabel. Die an Smalltalk angelehnte, objektorientierte Syntax erschwerte mit ihrem nachrichtenbasierten Ansatz vielen Ein- und Umsteigern den Einstieg in die Sprache und somit in die Entwicklung nativer Apps für iOS und OS X. Selbst kleine Aufgaben wie das Verketten von zwei Strings kann unter Objective-C bereits zu einer Herausforderung werden, wie die folgenden beiden Codezeilen zeigen.

NSString *string1 = @"Hello"; NSString *string2 = [string1 stringByAppendingString:@" world"];

Selbstverständlich war man sich auch im Haus Apple der Problematik der hohen Einstiegshürde bewusst. Als Antwort darauf stellte man mit Swift während der Apple Worldwide Developers Conference (WWDC) im Sommer 2014 eine alternative Programmiersprache zur Entwicklung für iOS und OS X vor. Dabei handelt es sich um eine komplett neue Programmiersprache, die Apple seit 2010 intern entwickelt hat. Laut Chris Lattner, dem Architekten der Sprache, ließ man sich beim Design von Swift von Sprachen wie Objective-C, Haskell, Ruby, Python und C# inspirieren [1]. Die primären Ziele dieser neuen Sprache sind laut Apple [2]:

  • Eine leichte Erlernbarkeit durch eine moderne Syntax

  • Hohe Performance, da bestehende Sprachen wie C oder Objective-C durch Swift ersetzt werden sollen

  • Hohe Stabilität durch strikte Typisierung

  • Interoperabilität mit bestehendem Objective-C-Code

Auf die erste Veröffentlichung folgte mit Version 2.0 ein weiteres Major-Release, das im Juni 2015 ebenfalls auf der WWDC vorgestellt wurde. Im Dezember 2015 stellte Apple Swift unter eine Apache-2.0-Open-Source-Lizenz und veröffentlichte den Quellcode auf GitHub [3]. Die aktuelle Version von Swift ist 2.3, das nächste Major-Release 3.0 wird noch im Jahr 2016 erwartet.

Verfügbarkeit und Werkzeuge

Die erste Swift-Version stand lediglich für Mac OS X zur Verfügung. Die Verteilung der Programmiersprache erfolgte über ein Update der hauseigenen Entwicklungsumgebung Xcode. Seit Version 2.0 gibt es auch eine Portierung für Linux. Diese umfasst den Swift-Compiler, die Swift-Standardbibliothek, die Swift Core Library sowie den Debugger. Eine integrierte Entwicklungsumgebung (IDE) fehlt unter Linux genauso wie eine Oberflächenbibliothek.

Eine Swift-Portierung für Windows gibt es aktuell nicht. Laut Apple steht diese derzeit auch nicht im Fokus, jedoch sei man offen dafür, eine Portierung aus der Community in das Swift-Haupt-Repository zu übernehmen [4].

Da eine komfortable Entwicklung mit Swift auf dem heutigen Stand nur auf einem Mac möglich ist, gelingt der Einstieg in Apples Programmiersprache am besten durch das Experimentieren in Xcode Playgrounds. Dabei handelt es sich um eine Funktion in der Programmierumgebung Xcode, die es erlaubt, Quellcodeschnipsel live auszuprobieren, ohne zuvor ein Projekt anlegen zu müssen. Das Ergebnis einer Quelltexteingabe wird ohne weiteres Zutun sofort in der rechten Spalte des Playgrounds angezeigt (Abb. 1).

kraemer_swift_1.tif_fmt1.jpgAbb. 1: Xcode-Playgrounds erlauben schnelle Swift-Experimente

Variablen und Datentypen

Die erste Berührung mit Swift läuft für C#-Entwickler relativ schmerzlos ab. Bereits beim Deklarieren von Variablen fällt auf, dass Swift auf den ersten Blick ein wenig wie modernes C# aussieht. So werden Variablen genau wie unter C# mit dem va-Schlüsselwort deklariert. Der Datentyp der Variablen muss während der Deklaration nicht angegeben werden, sofern er sich aus dem zugewiesenen Wert ergibt, wie folgende Zeilen zeigen:

var meinInteger = 42 // Int var meinDouble = 10.2 // Double var meinBoolan = true // Bool var meinString = "Hallo" // String

Trotz der fehlenden expliziten Typangabe ist Swift eine typsichere Programmiersprache. Eine deklarierte Variable kann ihren Typ also nicht zur Laufzeit ändern. Somit wäre die Zuweisung des Werts true an die Variable meinInteger des vorherigen Beispiels nicht zulässig. Den Vorgang der Ermittlung des Datentyps durch den Compiler nennt man Typinferenz (Type Inference). Er funktioniert unter Swift genauso wie unter C#.

Die explizite Angabe des Datentyps sieht unter Swift hingegen allerdings etwas anders aus als unter C#. Anstatt das Schlüsselwort var durch de...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang