Hauptmenü öffnen

Swift (Programmiersprache)

Programmiersprache von Apple

Swift ist eine Programmiersprache von Apple für iOS, macOS, tvOS, watchOS und Linux.

Swift
Logo
Basisdaten
Paradigmen: Multiparadigmen (objektorientiert, funktional, imperativ, Blockstruktur)
Erscheinungsjahr: 2014
Designer: Chris Lattner
Entwickler: Apple
Aktuelle Version: 5.0  (25. März 2019)
Typisierung: stark, statisch
Beeinflusst von: Objective-C, Rust, Haskell, Ruby, Python, C#, CLU,[1] D[2]
Betriebssystem: macOS, iOS (inkl. tvOS, watchOS), Linux
Lizenz: Apache-Lizenz 2.0 (seit Swift 2.2)
https://swift.org

Es handelt sich dabei um eine multiparadigmatische Sprache, die Ideen von Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, D[2] und anderen Programmiersprachen aufgreift.[1] Sie bietet Mechanismen wie Klassen, Vererbung, Closures, Typinferenz, Funktionen höherer Ordnung, generische Typen und Namensräume sowie multiple Rückgabetypen und -werte.[3] Der Compiler basiert auf LLVM.[4]

Laut Swifts Chefarchitekten, Chris Lattner,[1] soll Swift Objective-C bei Apple nicht ersetzen, sondern eine zusätzliche Möglichkeit zum Entwickeln für die Plattformen iOS und macOS bieten.[5]

Inhaltsverzeichnis

GeschichteBearbeiten

Die Entwicklung von Swift begann im Juli 2010 durch Chris Lattner, ab Ende 2011 arbeitete eine größere Entwicklungsmannschaft daran.[1] Eine am 2. Juni 2014 veröffentlichte Aktualisierung der WWDC-App war die erste veröffentlichte Anwendung, die in Swift geschrieben wurde.[6] Auf der Entwicklerkonferenz WWDC 2014 wurde Swift erstmalig der breiten Öffentlichkeit vorgestellt. Auf der Konferenz wurde das dazugehörige Handbuch angekündigt und im iBooks Store zur Verfügung gestellt.[7]

Swift 1Bearbeiten

Swift 1.0 wurde am 9. September 2014 von Apple veröffentlicht. An diesem Tag wurde die Golden Master von Swift 1 incl. Xcode 6.1 verteilt.[8]

Swift 2Bearbeiten

Auf der WWDC 2015 am 8. Juni 2015 stellte Apple Swift 2.0 vor. Neben verschiedenen sprachlichen Erweiterungen wie bspw. der Ausnahmebehandlung mittels try, throw und catch wurde auch angekündigt, dass die Lizenz von Swift in eine OSI-konforme Open Source Lizenz geändert wird.[9] Am 3. Dezember 2015 stellte Apple dann Swift unter die Apache-2.0-Lizenz, die eine freie Nutzung von Swift (auch für kommerzielle Projekte) ermöglicht. Apple gab den Quellcode in einem GitHub-Repository frei und bietet auch eine Portierung für Linux an.[10]

Die letzte Version von Swift 2 ist Swift 2.3 und wurde mit Xcode 8 veröffentlicht.

Swift 3Bearbeiten

Auf der WWDC 2016 wurde Swift 3.0 zusammen mit iOS 10.0 vorgestellt. Swift 3 ist die erste neue Hauptversion, seit Apple Swift quelloffen gemacht hat. Durch einige tiefgreifende Änderungen ist Swift 3 nicht mehr Quellcode-kompatibel mit den Vorgängerversionen. Grund dafür sind vor allem die neuen API-Designrichtlinien[11], die die Grundlage für die Weiterentwicklung von Swift bilden und bei denen Klarheit beziehungsweise Übersichtlichkeit besonders wichtig sein sollen.

Die Liste der Neuerungen und Umstellungen in Swift 3.0 umfasst mehr als 100 Punkte. Apple hat einen Migrationsleitfaden[12] als Hilfe für den Umstieg veröffentlicht. Für das Anpassen von vorhandenem Code gibt es ab Xcode 8.0 einen „Code-Migrator“, der einen Großteil der benötigten Änderungen automatisieren soll.

Swift 4Bearbeiten

Im September 2017 wurde mit Swift 4 die nächste Hauptversion veröffentlicht. Neue Funktionen sind zum Beispiel verbesserte Collection Typen sowie ein einfacherer Umgang mit Strings[13]. Um vorhandenen Swift-3-Code weiterverwenden zu können, verfügt der Compiler über einen Swift-3- und Swift-4-Modus, die in einem Projekt auch gemeinsam verwendet werden können.

Swift 5Bearbeiten

Die neuste Version von Swift ist 5.0, welche am 25. März 2019 veröffentlicht wurde.[14]

Code-BeispieleBearbeiten

var implicitInteger = 70
var implicitDouble = 70.0
var explicitDouble: Double = 70

let apples = 3
let oranges = 5
let appleSummary = "Ich habe \(apples) Äpfel."
let fruitSummary = "Ich habe \(apples + oranges) Früchte."

print("Hallo Welt!")

let people = ["Anna": 67, "Julia": 8, "Hans": 33, "Peter": 25]
for (name, age) in people {
    print("\(name) ist \(age) Jahre alt.")
}

Siehe auchBearbeiten

LiteraturBearbeiten

WeblinksBearbeiten

EinzelnachweiseBearbeiten

  1. a b c d Chris Lattner: Chris Lattner's Homepage. Abgerufen am 3. Juni 2014: „… it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.“
  2. a b Building assert() in Swift, Part 2: __FILE__ and __LINE__ - Swift Blog -. Apple Developer. Abgerufen am 26. September 2014: „Swift borrows a clever feature from the D language: these identifiers expand to the location of the caller when evaluated in a default argument list.“
  3. Nathan Ingraham: Apple has a new programming language called Swift, 'and it totally rules'. The Verge, abgerufen am 2. Juni 2014.
  4. Owen Williams: Apple announces Swift, a new programming language for iOS. The Next Web, Inc., abgerufen am 2. Juni 2014.
  5. Xcode-users mailing list. Apple Inc., abgerufen am 5. Juni 2014.
  6. Platforms State of the Union. Session 102 auf der WWDC 2014 bei ca. 30 min.
  7. The Swift Programming Language. Apple Inc., abgerufen am 2. Juni 2014.
  8. Apple Inc.: Swift Has Reached 1.0 - Swift Blog. Abgerufen am 7. Januar 2018 (amerikanisches Englisch).
  9. Swift 2.0
  10. The Swift Linux Port
  11. API-Designrichtlinien
  12. Migrating to Swift 2.3 or Swift 3 from Swift 2.2
  13. Apple Inc.: Swift 4.0 Released! In: Swift.org. 19. September 2017 (swift.org [abgerufen am 6. Oktober 2017]).
  14. Swift 5 Released! Apple Inc., abgerufen am 13. April 2019.