Abo
  • Services:
Anzeige
Swift soll Objective-C ersetzen.
Swift soll Objective-C ersetzen. (Bild: Apple)

Für iOS und OS X: Swift statt Objective-C

Swift soll Objective-C ersetzen.
Swift soll Objective-C ersetzen. (Bild: Apple)

Mit Swift hat Apple eine eigene Programmiersprache veröffentlicht, die einfacher sein soll als Objective-C. Benutzt werden Funktionen, die aus Skriptsprachen und der funktionalen Programmierung stammen.

Zwar soll Objective-C-Code weiterhin benutzt werden können, die Zukunft der App-Entwicklung für seine Systeme sieht Apple aber in der Programmiersprache Swift, die einfacher, schneller und zugleich sicherer zu benutzten sein soll. Dafür enthält die Sprache viele moderne Konzepte, greift aber auch auf altbekannte Techniken zurück.

Anzeige

"Ohne den Ballast von C"

Die Typeninferenz soll den Code etwa weniger fehleranfällig und leichter zu pflegen machen. Mit den Schlüsselwörtern var lassen sich Variablen definieren, für Konstanten dient let. Die Speicherverwaltung erfolgt komplett automatisiert, zudem wird sichergestellt, dass Variablen vor ihrer Verwendung immer initialisiert werden, Arrays werden auf mögliche Überläufe überprüft. In der Selbstbeschreibung heißt es, dass eine Zeile Obejective-C-Code unter bestimmten Umständen durch ein einziges Zeichen ersetzt werden könne.

Selbstgeschriebene Funktionen erlauben N-Tupel als Argumente und sogar eine variable Anzahl von Argumenten, ebenso sind mehrere Rückgabewerte erlaubt. Funktionen sind eingebaute Typen, so dass Argumente und Werte ebenfalls wieder Funktionen sein können. Darüber hinaus lassen sich Funktionsabschlüsse (Closures) benutzen.

Protokolle lassen sich über ein Schlüsselwort deklarieren und in Klassen, Enums und Structs weiterverwenden. Generische Funktionen und Typen können ebenfalls verwendet werden. Vorhandene Typen können um Methoden und berechnete Eigenschaften erweitert werden.

Einfaches Testen

Über sogenannte Playgrounds werden die Ergebnisse von geschriebenem Code direkt angezeigt, bei Schleifen lässt sich deren Ablauf zeitlich verfolgen. Auf einer Zeitachse können ebenso die Aufrufe von Variablen auf einem Graphen beobachtet werden. So sollen sich Algorithmen und Code-Tests schnell erstellen und anschließend in das Projekt eingefügt werden.

Die in XCode eingebaute Debugging-Konsole enthält einen Read-Eval-Print-Loop (REPL) für Swift. So kann mit dem vorhandenen Code einer App direkt interagiert werden oder kurze Code-Teile in einer Skript-artigen Umgebung getestet werden.

Swift wird mit einem LLVM-Compiler in nativen Code überführt. Die Entwicklerdokumentation von Apple listet weitere Details zu Swift auf, das mit der Beta von XCode 6 verwendet werden kann. Eine Einführung in die Sprache steht auch als E-Book bereit. Mit Swift geschriebenen Apps können erst mit der Veröffentlichung von iOS 8 und OS X Yosemite in den entsprechenden Stores erscheinen.


eye home zur Startseite
RobustAndProfic... 05. Dez 2014

Eine moderne Anwendung würde ich nicht in einer Sprache schreiben in der, Allocation des...

andi_lala 04. Jun 2014

Naja mit Swift könnte ja eine plattformunabhängige intermediate form möglich sein. Darum...

elgooG 04. Jun 2014

Der Compiler benötigt das var sicher für die Interpretation. Sonst muss er erstmal das...

DeMonToll 04. Jun 2014

Genauso geht es mir. Bin nie mit der Bracket in Bracket in Bracket Mentalität warm...

Netspy 04. Jun 2014

Was soll ich genauer spezifizieren? Ich habe schließlich nichts anderes als du gesagt.



Anzeige

Stellenmarkt
  1. Leopold Kostal GmbH & Co. KG, Hagen
  2. Landeshauptstadt München, München
  3. TADANO FAUN GmbH, Lauf an der Pegnitz / bei Nürnberg
  4. Dataport, Altenholz/?Kiel


Anzeige
Top-Angebote
  1. (u. a. Laptops, Werkzeuge, Outdoor-Spielzeug, Grills usw.)
  2. (u. a. Bose Soundlink Mini Bluetooth Speaker II 149,90€, Bose SOUNDSPORT PULSE WIRELESS 174,90€)

Folgen Sie uns
       


  1. GVFS

    Windows-Team nutzt fast vollständig Git

  2. Netzneutralität

    Verbraucherschützer wollen Verbot von Stream On der Telekom

  3. Wahlprogramm

    SPD fordert Anzeigepflicht für "relevante Inhalte" im Netz

  4. Funkfrequenzen

    Bundesnetzagentur und Alibaba wollen Produkte sperren

  5. Elektromobilität

    Qualcomm lädt E-Autos während der Fahrt auf

  6. Microsoft

    Mixer soll schneller streamen als Youtube Gaming und Twitch

  7. Linux

    Kritische Sicherheitslücke in Samba gefunden

  8. Auftragsfertiger

    Samsung erweitert Roadmap bis 4 nm plus EUV

  9. Fake News

    Ägypten blockiert 21 Internetmedien

  10. Bungie

    Destiny 2 mischt Peer-to-Peer und dedizierte Server



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Quantencomputer: Nano-Kühlung für Qubits
Quantencomputer
Nano-Kühlung für Qubits
  1. IBM Q Mehr Qubits von IBM
  2. Quantencomputer Was sind diese Qubits?
  3. Verschlüsselung Kryptographie im Quantenzeitalter

XPS 13 (9365) im Test: Dells Convertible zeigt alte Stärken und neue Schwächen
XPS 13 (9365) im Test
Dells Convertible zeigt alte Stärken und neue Schwächen
  1. Schnittstelle Intel pflegt endlich Linux-Treiber für Thunderbolt
  2. Atom C2000 & Kaby Lake Updates beheben Defekt respektive fehlendes HDCP 2.2
  3. UP2718Q Dell verkauft HDR10-Monitor ab Mai 2017

Calliope Mini im Test: Neuland lernt programmieren
Calliope Mini im Test
Neuland lernt programmieren
  1. Arduino Cinque RISC-V-Prozessor und ESP32 auf einem Board vereint
  2. MKRFOX1200 Neues Arduino-Board erscheint mit kostenlosem Datentarif
  3. Creoqode 2048 Tragbare Spielekonsole zum Basteln erhältlich

  1. Re: GVFS etwas ungünstiger Name...

    Lord Gamma | 15:05

  2. Re: Mal ne ganz andere Idee: Fahrtwind statt Pumpe

    Frank... | 15:03

  3. Re: Unix, das Betriebssystem von Entwicklern, für...

    Arkarit | 15:02

  4. Re: Volumenbegrenzungen abschaffen

    jeegeek | 15:02

  5. Re: Noch ein Argument

    David64Bit | 15:01


  1. 13:35

  2. 13:17

  3. 13:05

  4. 12:30

  5. 12:01

  6. 12:00

  7. 11:58

  8. 11:50


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel