iMOTION
Titelbild: Swift
25.11.2014 - Stefan Popp

Swift

Ein wichtiger Schritt in die richtige Richtung

Als Craig Federighi am 2.6.2014 bei der WWDCD 2014 die Worte „We have a new programming language“ aussprach, wurde es seit langer Zeit einmal wieder richtig laut in der mit rund 5.000 Menschen besetzten Halle des Moscone Centers in San Francisco. Vorher hatten Tim Cook und Federighi bereits mit vielen neuen Features in iOS 8 und dem neuen Mac OS X Yosemite der Menge das Wasser im Munde zusammenlaufen lassen. Eine neue Programmiersprache am Ende der Keynote überraschte sicherlich die gesamte Apple-Anhängerschaft rund um den Globus. Zum ersten Mal in der „Post-Jobs-Ära“ gab es eine Neuigkeit, mit der niemand gerechnet hatte. Als aufmerksamer Zuschauer spürte man wieder: diese Keynote ist anders.

Swift Screenshot Startseite

 

Das Medienecho, das Swift bereits während der Veranstaltung durch App-Entwickler und News-Portale auslöste, war unüberhörbar und versetzte den ein oder anderen Programmierer gar in einen Rausch der Euphorie. Mit Spannung wurde nach der Keynote die erste Beta-Version von Apples hauseigener Entwicklungsumgebung Xcode 6 erwartet, denn eines war bereits jetzt für jeden Softwareentwickler weltweit klar: Was Apple in Angriff nimmt, wird ein Erfolg. Apple pflegt seit jeher einen aktiven Support für die Entwicklergemeinde rund um OS X und iOS. Dass Apps ein wesentlicher Bestandteil des Apple Ecosystems sind und Softwareentwickler damit einen großen Teil zum Erfolg der „Plattform Apple“ beitragen, ist spätestens seit der Vorstellung des App Stores im Jahre 2008 offensichtlich.

Und so war es selbstverständlich, dass niemand anderes als der Chef-Entwickler von Swift, Chris Lattner, persönlich die neu entworfene Sprache vorstellte. Lattner ist kein Unbekannter in der Entwicklerszene und machte bereits mit seinem Open-Source-Projekt LLVM auf sich aufmerksam. Die Rekrutierung von Lattner durch Apple im Jahre 2005 war der nächste logische Schritt und überraschte niemanden in der Szene, denn Apple wollte LLVM zur Produktionsreife führen, um Objective-C selbst performant und zukunftssicher weiterentwickeln zu können.

Aus dem Projektteam, das in kürzester Zeit rund um Chris Lattner aufgebaut wurde, entstanden über die folgenden Jahre wichtige Produkte wie z. B. das Compiler Frontend Clang. Nicht zuletzt führte Clang dazu, wichtige Spracherweiterungen für Objective-C wie Blocks oder das Automatic Reference Counting zu realisieren. Objective-C ist mittlerweile in die Jahre gekommen. Es wurde im Jahr 1983 entwickelt und als objektorientierte Erweiterung auf die Programmiersprache C aufgesetzt. C selbst ist eine Hochsprache, die bereits 1973 entwickelt wurde und noch heute ihre Bedeutung in der Industrie hat. Sie wird neben Java nach wie vor an vielen Universitäten weltweit gelehrt. Aufgrund ihrer zum Teil komplizierten Anwendung im Produktiveinsatz wird C in der Praxis mehr und mehr gemieden. Als die Auswirkungen des im Jahr 2008 vorgestellten App Stores für die breite Masse abschätzbar wurden, war Objective-C plötzlich eine der meistgefragtesten Sprachen der Welt.

Swift erblickte das Licht der Öffentlichkeit erst in diesem Jahr, wurde aber bereits im Jahre 2010 von Lattner federführend entworfen und ab Ende 2011 fokussiert vorangetrieben. Bis dato war das Lernen von Objective-C die größte Hürde, die man nehmen musste, um eine App programmieren zu können. Eine Hürde, die leider für viele Entwickler, vor allem für Anfänger, oft zu hoch war.

Swift Screenshot Beitrag

 

Den Satz „Swift ist Objective-C ohne die Altlasten von C“ hatte Craig Federighi sehr bewusst für seine Ankündigung gewählt, denn damit hatte er die volle Aufmerksamkeit der Apple-Entwicklergemeinde auf sich gezogen. Lattner betrat die Bühne und voller Spannung wurde jeder seiner Handgriffe und jedes Wort genauestens verfolgt. Bereits zu diesem Zeitpunkt war klar, dass dies ein bedeutender Wendepunkt für viele Entwickler, aber auch für Unternehmen und Konzerne sein würde.

Swift ist eine objektorientierte Sprache, die viele Paradigmen moderner Programmiersprachen vereint. Man bediente sich der größten Vorteile und versuchte Wiedererkennungsmerkmale für Entwickler zu schaffen. Genannt seien hier Programmiersprachen wie Ruby, Python, Rust oder auch Microsofts C#. Durch die Spracheinflüsse kam es auch zu der Übernahme verschiedenster Techniken, welche es leider nie geschafft haben, in Objective-C integriert zu werden. Mit Swift ist es nun möglich, Namensräume zu definieren, generische Klassen und Typen zu erstellen oder multiple Rückgabewerte zu definieren. Einige der Sprachelemente bringen neue Komplexitäten in die Programmierwelt der iOS-Entwickler. Für Softwarearchitekten oder Softwareentwickler anderer Sprachen ergänzt Swift damit bereits bekannte und erfolgreich eingesetzte Mechanismen jetzt auch in der iOS- und Mac-Welt.

Selbst eingeschworene Objective-C-Entwickler, die auf den ersten Blick keinen Mehrwert im Erlernen der neuen Sprache sehen, werden schnell Gefallen an Swift finden. Apple stellt für diese Zielgruppe die Vorzüge der Syntax und den Geschwindigkeitszuwachs in den Vordergrund. Gegenüber Objective-C haben erste unabhängige Benchmarks ergeben, dass Geschwindigkeitsverbesserungen bis Faktor 17 bei mathematischen Operationen möglich sind. Durch den Wegfall einiger Altlasten kann Swift auch bei normalen Anwendungsszenarien deutlich an Geschwindigkeit gewinnen, was zu guter Letzt nicht nur dem Stromverbrauch der mobilen Endgeräte entgegenkommt. Zudem sind viele Sprachmerkmale aus Objective-C wie benannte Parameter auch in Swift wiederzufinden und so fühlen sich viele Entwickler, die bereits Erfahrung mit Objective-C haben, sehr schnell zu Hause. Man sollte keinesfalls unerwähnt lassen, dass Apple es geschafft hat, nahezu alle System-Bibliotheken und Schnittstellen sowie deren Aufruf in Swift und Objective-C identisch sein zu lassen. Dies ist ein erheblicher Vorteil für jene Entwickler, die bereits einen routinierten Umgang mit Objective-C und Cocoa oder UIKit haben.

Wie überall im Leben gibt es auch bei neuen Programmiersprachen die Gruppe der „Verweigerer“. Der Hintergrund ist hier oft die Angst vor dem Verlust des Spezialisten-Status. Wer wirft schon gerne mehrere Jahre antrainierte Objective-C-Kenntnisse von heute auf morgen über Bord? Apple betonte aber diesbezüglich sehr deutlich, dass Objective-C nicht durch Swift abgelöst wird. Beide Sprachen werden weiterhin voll von Apple unterstützt und weiterentwickelt.

Egal ob Hardware, Software, Services, Apps oder Content, erst das nahtlose Zusammenwirken aller Bereiche bringt dem Anwender die gewünschte „User Experience“. Das prägt den Begriff „Ecosystem“ und genau das zeichnet Apple seit jeher aus.

Der Schritt, eine einfachere und schnelle Programmiersprache zu entwickeln, war daher nur konsequent. Apple legt damit den Grundstein für eine Verbreiterung der Entwicklergemeinde und damit für künftige Apps. Wir werden in den Genuss von schnelleren und intuitiveren Apps mit mehr Möglichkeiten kommen.

iOS ist die führende Plattform für mobile Endgeräte. Die Zeiten des Nischendaseins hat Apple längst hinter sich gelassen. Bereits jetzt laufen weltweit die Druckwalzen an, Blogs veröffentlichen einen Artikel nach dem anderen und auch Podcasts und Lernvideos werden zu Tausenden im Netz veröffentlicht. Eine Sprache, die bereits nach wenigen Wochen so viel Interesse geweckt hat, wird sich auf dem Markt durchsetzen.

 

Stefan Popp
#Stefan Popp

Stefan Popp

Freiberuflicher Softwareentwickler

Stefan Popp ist freiberuflicher Softwareentwickler, Fachbuchautor, Trainer und Berater aus dem Münchner Umland. Als passionierter IT- und Apple Profi hat Popp unzählige IT-Projekte in verschiedensten Branchen erfolgreich umsetzen und unterstützen können. Neben seiner Tätigkeit als Entwickler und Fachberater für Konzerne und Unternehmen, wie u. a. der BMW AG, schult und bildet Popp gezielt Personal und Mitarbeiter in Deutschland aus. Seiner langjährigen Erfahrung und Kenntnisse verdankte er es nicht zuletzt, als Fachbuchautor das erste Swift-Buch für den O’Reilly Verlag im deutschen Markt veröffentlichen zu können.

Ganzen Artikel lesen