Definition „Swift (Programmiersprache)“

Was ist Apple Swift?

| Autor / Redakteur: chrissikraus / 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)

Swift ist Apples hausgemachte Programmiersprache, die neben Objective-C für die Programmierung von Apps und Anwendungen verwendet werden kann. Die einsteigerfreundliche Sprache wird zum Beispiel verwendet, um Apps für iOS zu entwickeln.

Apple führte Swift 2014 als neue Programmiersprache für die Programmierung im Apple-Ökosystem ein. Die Sprache ist vor allem bei der Entwicklung von iOS-Apps relevant, kann aber auch im macOS-Umfeld verwendet werden. Swift ist allerdings nicht auf Apple-Systeme beschränkt: auch für Linux kann mit der Open-Source-Programmiersprache entwickelt werden.

Swift verfügt über eine starke, statische Typisierung und baut auf eine aufs Wesentliche reduzierte Syntax für optimale Lesbarkeit. Apple bemüht sich um einen simplen, leicht verständlichen Aufbau, den Anfänger und Umsteiger schnell nachvollziehen können sollen.

Apples Alternative zu Objective-C

Vor einigen Jahren war Objective-C der Standard, um Anwendungen für macOS oder iOS zu programmieren. 2014 führte Apple seine hauseigene Programmiersprache Swift ein, die bestimmte Konzepte verbessert bzw. vereinfacht.

Swift basiert zwar auf Objective-C, soll aber komfortabler und unkomplizierter zu handhaben sein. Variablen sind in Swift typensicher, die Syntax wurde dramatisch vereinfacht. Wer bereits in Objective-C oder C gearbeitet hat, wird sich relativ schnell in der Syntax zurechtfinden.

Schlanke Syntax, einsteigerfreundliche Programmiersprache

Swift verzichtet auf viele Dinge, die die Syntax komplex machen. Ziel ist, den Code gut lesbar zu machen und somit auch Anfängern einen bequemen Einstieg zu bieten. So gibt es in Swift zum Beispiel kein Semikolon am Ende eines Ausdrucks. Apple unterstützt Programmieranfänger mit einer eigenen Lern-App beim Einstieg in die Programmierung mit Swift.

Die iPad-App „Swift Playgrounds“" vermittelt die Grundlagen spielerisch und richtet sich explizit an Anfänger ohne Programmierkenntnisse. Außerdem können kleine Anwendungen für Roboter und Drohnen geschrieben werden. Insgesamt ist das Angebot so gestaltet, dass auch technisch interessierte Kinder das Programmieren mit Swift lernen können.

Optionals für Variablen mit optionalem Inhalt

Der Typ Optional ist eine Art Container für Variablen, die zwei mögliche Zustände annehmen können: Entweder ist die Variable leer (nil), oder sie enthält einen Wert entsprechend des deklarierten Typen. Intern handelt es sich um einen Aufzählungstypen (enum).

Optionals existieren vor allem, um den Code schlichter und somit lesbarer zu machen. Sie werden mit einem Fragezeichen nach dem Datentyp erstellt, zum Beispiel „Int?“ oder „String?“. Um den Wert eines Optionals zu erfahren, muss man es aus seinem Container auspacken.

Mit Optionals lassen sich Szenarien abdecken, in denen eine Variable nicht zwangsläufig einen Wert enthalten muss. Ein Wert könnte zum Beispiel unerwartet leer bleiben, wenn ein Fehler auftritt: Man versucht, eine Datei einzulesen, die nicht existiert. Oder es handelt sich um eine Information, die nicht in jedem Fall vorliegt: Nicht jeder Mensch hat einen zweiten Vornamen, nicht jede Suche in einem Array ergibt einen Treffer.

Generics in Swift

Swift ermöglicht generische Funktionen, die beliebige Typen entgegennehmen können und sich somit vielfältig und flexibel wiederverwenden lassen. Außerdem kennt Swift generische Typen und Strukturen, die man ganz nach Bedarf definieren kann. Dictionaries, Optionals oder Arrays arbeiten intern ebenfalls mit generischen Typen und können daher jeden beliebigen Datentyp akzeptieren.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

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.

Aktuelle Beiträge zu diesem Thema

Mac für die Software-Entwicklung aufsetzen

Solution Stack unter macOS

Mac für die Software-Entwicklung aufsetzen

Mit Macbook, iMac und Co. können Entwickler nicht nur eine zuverlässige Hardware-Basis zurückgreifen, sondern auch Software für alle wichtigen Betriebssysteme entwickeln. Damit das reibungslos klappt, gibt es jedoch ein paar Dinge zu beachten. lesen

Development-Tools für macOS

Programmieren am Apple Mac

Development-Tools für macOS

Als vollwertiges Unix-System eignet sich macOS wunderbar für die Software-Entwicklung. Wir stellen einige Tools vor, mit denen das Programmieren leichter von der Hand geht. lesen

Typescript in Top 10 der Programmiersprachen

Javascript bei Entwicklern weiterhin am populärsten

Typescript in Top 10 der Programmiersprachen

Typescript taucht erstmals in den Top Ten der halbjährlichen RedMonk Programming Language Rankings auf. Die aktuelle Rangliste der beliebtesten Programmiersprachen basiert auf Daten von GitHub und Stack Overflow. lesen

Was ist eine Native App?

Definition „Native Anwendung“

Was ist eine Native App?

Multimedia und Mobilität erfordern es, dass Anwendungen auf dem Smartphone als mobilem Endgerät in Funktionalität und Komfort überzeugen. Mit einer Native App kann diese Zielsetzung bedarfsgerecht entwickelt und angeboten werden. lesen

Wege zur App – nativ, hybrid oder fürs Web

Abkürzungen erwünscht

Wege zur App – nativ, hybrid oder fürs Web

Um Apps für Android und iOS zu erstellen, gibt es mittlerweile sehr viele Ansätze. Eine Systematisierung ist hilfreich, um sich im technischen Dschungel zurechtzufinden. Ebenso entscheidend ist es, wie effektiv die jeweilige Vorgehensweise ist, denn die Time-To-Market ist oft entscheidend. Hier können plattformübergreifende Techniken punkten. lesen

Apple gibt Swift 5 offiziell frei

Kleinere Anwendungen, mehr Sicherheit

Apple gibt Swift 5 offiziell frei

Apple hat mit Swift 5 die neueste Version der hauseigenen Programmiersprache freigegeben. Das Application Binary Interface gilt nun als stabil, so dass die Swift-Runtime nun in sämtlichen Apple-Betriebssystemen enthalten ist. lesen

Mehr Sicherheit in Swift 5

Geschützte Variablen und weitere Neuerungen

Mehr Sicherheit in Swift 5

Mit der Programmiersprache Swift 5 verbessert Apple auch die Sicherheit des Speichers, indem der Zugriff auf Variablen während einer Änderung blockiert wird. Das soll vor allem die Stabilität verbessern. lesen

Update für das SAST-Tool Coverity

Statisches Security Testing besser skalierbar

Update für das SAST-Tool Coverity

Das Tool für statische Application Security Tests Coverity ist in einer neuen Version erschienen. Mehr Skalierbarkeit, der Support weiterer Programmiersprachen und Frameworks sowie eine bessere Schwachstellenanalyse waren die Gründe für die Aktualisierung. lesen

Programmierung ist kein Kinderspiel

Swift-Tagebuch, Teil 3

Programmierung ist kein Kinderspiel

Programmierkenntnisse hin oder her: Ein beträchtlicher Teil der Programmierung ist auch Kreativität. Das Erfinden oder Umstricken eines vorhandenen Open-Source-Programms ist gar nicht so banal, wie Anfänger denken. Auch unser Autor musste das lernen. lesen

copyright

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