apple-business-computer-4158

Im Juni 2014 wurde Swift von Apple veröffentlich. Es ist ihre neuste iOS und OSX Programmsprache. Swift wurde mit der Absicht, Objective-C als normale Programmiersprache abzulösen, aber wie so oft geschieht der Wechsel und die Gewöhnung daran nicht über Nacht. Aufgrund dessen wurde Swift so kreiert, dass es neben Objective-C in bestehende und neuen Projekten integriert werden kann.

Die Vorteile von Swift

Wie es der Name Objective-C sagt, basiert diese auf der C-Sprache, die als schwierig zu erlernen und zu beherrschen gilt. Letzteres ist für neue Entwickler besonders mühsam, da die Syntax im Vergleich mit anderen Programmiersprachen unterschiedlich ist, was den Lernprozess ein stückweit mehr erschwert. Andererseits ist die Syntax von Swift klar und präzise, was es nachvollziehbar und leserlich gestaltet. Dies ist besonders für neue Entwickler ideal, da es einfacher zu erlernen und es das Fundament für diejenigen, die mit der iOS App Entwicklung beginnen möchten, bildet. Auch die reine Anzahl an Code Strings, die zur Implementierung in Swift benötigt wird, ist geringer als in Objective C. Die Anzahl der sich wiederholenden Anweisungen ist geringer, die die Manipulation der Strings ist einfacher und erfordert weniger Code- und Klassenschnittstellen. Die Implementierung ist nun in einer Datei verschmolzen, was die Anzahl der Dateien im Projekt reduziert und die Navigation erleichtert. Die klare und angenehme Lesbarkeit ist ein grosses Merkmal von Swift, da Funktionen mit einer grossen Anzahl an voreingestellten Parametern in Objective-C die Lesbarkeit einschränken können.

Es besteht auch in punkto Sicherheit einen Unterschied. Swift wurde so entwickelt, dass die Sicherheit gewährleistet ist. Hingegen dies bei Objective-C nicht der Fall ist. Die verschiedenen Arten der Fehler, die bei Objective-C vorkommen, gibt es bei Swift nicht. Zusätzlich ist Swift in der Lage, Compiler-Fehler zu produzieren, sobald es mit schlechtem Code konfrontiert wird. Dies verkürzt die Zeit der Fehlerbehebung.
Swift hat ausserdem ein sehr starkes Tippfehlersystem, was den Entwickler schützt, mit der Ausbesserung dieser kleiner, aber ärgerlicher Fehler Zeit zu verbringen. Ausserdem «prahlt» Apple ständig mit der Leistung von Swift, insbesondere bei der Arbeit mit Kollektionen.

swift-vs-objective

Swift hat Generics, Tuples, Optionen und andere nutzbare Sachen die Objective-C nicht bietet. Zusätzlich sind die Playgrounds ein schöne Zusatzfunktion, die neuen Entwicklern ihren Code "visualisiert". Swift bietet auch für die erfahrenen Entwicklern eine Möglichkeit, die Code Snippets kurz zu testen und auf dem Weg zu korrigieren.

ARC (Automatic Reference Counting) in Objective-C kann nicht auf den C-Code und API's wie z.B. Core Graphics zugreifen, da es nur innerhalb des objektorientierten Codes selbst und der Cocoa API unterstützt wird. Swift ist einheitlicher - das ARC vollständig, was umfangreiche Speicherverluste fast unmöglich macht.

siwft-vs-objectivec-2

Die Nachteile von Swift

  1. Aufgrund des relativ jungen Alters, sind nicht so viele Ressourcen vorhanden wie bei Objective-C. Die Mehrheit der iOS Entwickler kennt Objective-C, wobei nicht alle mit Swift vertraut sind.
  2. Swift wird konstant neugeschrieben und ist nicht rückwärtskompatibel, was dazu führt, dass man mindestens jährlich das Projekt auf eine neuere Version migrieren muss. Die von Xcode zur Verfügung gestellten Tools sollten die Entwickler die Migration unterstützen, jedoch sind sie zeitaufwändig und kostspielig.
  3. Der fehlende Support für frühere iOS Versionen, so dass es nicht für Legacy Projekte genutzt werden kann.
  4. Nicht jeder Entwickler im Team ist mit Swift vertraut oder aber es wird lieber Objective-C bevorzugt.