Vor kurzem bin ich wieder über einen Artikel gestoßen, der 10 Vorteile von Swift gegenüber Objective-C hervorhebt (und der vor allem für Querein- und Umsteiger in der iOS-Entwicklung interessant sein könnte). Da dieser sehr schön und einfach zu lesen ist, möchte ich ihn nicht vorenthalten. Zusammengefasst bietet Swift dabei folgende Verbesserung gegenüber seinem Vorgänger:
1. Swift ist einfacher zu lesen
Swift-Code orientiert sich – genau wie andere moderne Programmiersprachen – mehr an natürlichem Englisch. Dadurch fällt es Entwicklern anderer Sprachen einfacher sich einzuarbeiten.
2. Swift ist entwicklerfreundlicher
In Swift gibt es keine „Zwei-Dateien-System“ mehr. Xcode und der LLVM-Compiler können Abhängigkeiten selbstständig identifizieren, wodurch nervige, sich wiederholende Maßnahmen wie die Trennung der Header-Datei und der eigentlichen Implementierungs-Datei nicht mehr notwendig sind. Swift kombiniert sowohl die Objective-C-Header (ehemals .h) und die Implementierungs-Datein (ehemals .m) in einer einzigen Datei (.swift).
3. Swift ist sicherer
Traditionell mussten Entwickler in Objective-C dafür sorgen (durch Kommentare etc.), dass klar wird wie sich die zurückgelieferte Variable verhält. In Swift wird dieses Verhalten durch Optional Types und Value Types automatisch transparenter (z.B. durch die Methoden-Definition).
4. Swift hat ein vereinheitlichtes Speichermanagement
Der Einsatz des Automatic Reference Countings (ARC) ist nun vollständig sowohl für die prozedurale, als auch die objektorientierte Programmierung für iOS gleich. In Objective-C wird ARC nur in den Cocoa-APIs und der objektorientierten Programmierung unterstützt; nicht jedoch für prozedurales C oder APIs wie Core Graphics. Das heißt, bis dato war es die Aufgabe des Entwicklers den Umgang mit dem Speichermanagement zu handhaben, wenn es um Core Graphics und ähnliche APIs ging.
5. Swift benötigt weniger Code
Swift reduziert die Menge an Code die für Stringmanipulation und sich wiederholende Statements benötigt wird. In Objective-C benötigt es mehrere Schritte um zwei Strings zu verknüpfen. Swift adaptiert das einfache Prinzip anderer moderner Programmiersprachen, bei dem Strings durch den „+“ Operator kombiniert werden können.
6. Swift ist schneller
Nach Aussage von Primate Labs, die Macher des beliebten GeekBench Performance-Tools, erreichte Swift im Dezember 2014 die gleiche Performance wie C++.
7. Swift unterstützt implizite Namespaces
Swift unterstützt implizites Namespacing. Das bedeutet, dass gleiche Klassen über mehrere Projekte hinweg genutzt werden können, ohne das ein Build-Fehler provoziert wird oder (Klassen-)Namen wie NSString or CGPoint vergeben werden müssen.
8. Swift unterstützt dynamische Bibliotheken
Dynamische Bibliotheken sind nicht in der eigentlichen App enthalten, sondern erst „am Ende“, wenn die App aus dem App Store heruntergeladen wird. Dadurch reduziert sich die eigentliche Appgröße, da diese in den Speicher geladen werden (der externe Code wird dann nur verlinkt, wenn er auch wirklich benötigt wird).
9. Swift’s Playground ermuntert zu interaktivem Coden
Playground ermöglicht es Entwicklern z.B. neue Algorithmen auszuprobieren, ohne das gleich eine komplett neue iPhone-App erstellt werden muss.
10. Swift kann von der Community gesteuert werden
In vergangenen Swift-Versionen hat Apple bereits tausende Bugs gefixed, die über den Apple Bug Reporter eingereicht wurden. Das Team, das hinter der Entwicklung von Swift steckt, ist extrem daran interessiert wie Swift weiter verbessert werden kann, damit die Entwickler-Community noch einfacher Apps mit Swift entwickeln kann.
Den kompletten Artikel gibt es hier zu lesen.