Swift Fan Page

Höhenflug
Von Patrick Gaißert

   Mobile Engineering

Swift hat mich einfach nur umgehauen. Die iPhone-Programmiersprache wurde zur Apple WWDC 2014 angekündigt. Und ausgerechnet in diesem Jahr war ich nicht live vor Ort in San Francisco, sondern saß zuhause am Fernseher.

Noch am selben Abend hab ich die Swift-Dokumentation als E-Book runtergeladen. Bis zum nächsten Morgen im Büro hatte ich sie komplett durchgeackert. Ich war von der ersten Sekunde an begeistert. Beim Kaffee hab ich etliche leuchtende Augen gesehen: Klar, viele unserer iOS-Entwickler hatten die Swift-Vorstellung gesehen. Aber niemand hatte sich direkt in die Dokumentation gestürzt! 

Swift – Patrick Gaißert ist ein erklärter Fan

Swift gab mir den Anstoß, viele alteingesessene Patterns zu überdenken und trotzdem von der langen Erfahrung mit iOS System Frameworks zu profitieren. Ich las alle Blog-Posts und Artikel, die ich finden konnte. Es war aufregend, bei einer neuen Technologie ganz vorne mit dabei sein. Wann hat man denn schon die Gelegenheit, eine Programmiersprache von der ersten Minute an zu begleiten? Dieselbe Faszination treibt mich auch jetzt noch an, Jahre später.

Swift hat mich definitiv zu einem besseren Entwickler gemacht

Zu einem, der auch unter die Haube schaut, Details verstehen möchte und immer versucht, den wirklich besten Code zu schreiben. Selbst viele Jahre nach der Einführung von Swift entdecke ich immer wieder Neues bei Kollegen oder in Blogs. Ein Entwickler sollte sich nicht zu schade sein, immer wieder jede einzelne Zeile zu überdenken. Ich finde, nur so kann man wachsen.

Die größte Überraschung für mich war, wie schnell Swift in der Entwickler-Community und auch bei den Kunden akzeptiert und sogar gefordert wurde. Selbst Jahre später und obwohl Objective-C immer noch eine valide Alternative darstellt, werden in meiner Erfahrung iOS-Projekte nur noch in Swift geschrieben. Die Entwicklung von Swift zur Full-Stack-Sprache, vom Backend bis zum Frontend und sogar auf Nicht-Apple-Plattformen, hat mich ebenfalls sehr dazu inspiriert, von der traditionellen Frontend-Fokussierung über den Tellerrand zu schauen. Dass Swift viele Konzepte von anderen Programmiersprachen übernimmt, hat mich motiviert, mich auch mit anderen Programmierkonzepten tiefer zu beschäftigen.

Ich schule seit mehreren Jahren unsere iOS-Entwickler. Als Swift 2014 angekündigt wurde, standen wir vor der großen Frage: Alte Schulung wegschmeißen und alles neu machen mit Swift? Wir waren uns damals einig: Swift hat riesiges Potenzial und wird die Zukunft der iOS Entwicklung sein – also haben wir den Sprung ins kalte Wasser gewagt. Die Konzeption der neuen Schulung gab mir die erste Möglichkeit, mich wirklich tief mit allen Sprachkonzepten zu beschäftigen. Das war eine super Lernerfahrung.

Seitdem bin ich jedes Jahr wieder verblüfft, wie schnell Entwickler in die Swift Entwicklung einsteigen, die eigentlich von anderen Plattformen oder Programmiersprachen kommen. Aus den Schulungen sind inzwischen einige interessante interne App-Projekte geworden – das freut mich besonders.


SWIFT-Logo

Swift ist noch eine junge Programmiersprache. Man ist stets darauf konzentriert, sie in handhabbaren Schritten weiterzuentwickeln – und es gibt natürlich noch Lücken zu füllen. Aus meiner Sicht ist das hauptsächlich das Thema native Sprachkonstrukte für Nebenläufigkeit. Es gibt schon sehr viele gute Ideen, unter anderem von Swift Erfinder Chris Lattner, die meiner Meinung nach in die absolut richtige Richtung zeigen. Die vollständige Implementierung und Einführung steht dann wahrscheinlich aber leider erst 2019 an. Das wird wieder ein großer Moment werden. Und jeder Swift-Entwickler wird völlig neu lernen müssen, wie man die Sprache optimal einsetzt. Gelerntes muss über Bord geworfen und ein neues Puzzle gelöst werden: Wie schreibe ich exzellenten asynchronen Swift Code?

Ich war großer Fan von Objective-C. Und erst in der Retrospektive wird mir klar, was für ein monumentaler Schritt die Einführung von Swift für die iOS-Entwicklung darstellt. Das zeigt sich besondern dann, wenn man an alten Objective-C-Projekten arbeitet. Die Arbeitseffizienz wurde durch Swift unglaublich gesteigert. Der Einsatz von Optionals – für Neueinsteiger nicht immer ein einfaches Thema – hat zu einer enormen Steigerung der Code-Robustheit geführt. Wenn Linting Tools wie SwiftLint benutzt und zusätzlich Code Reviews gewissenhaft durchgeführt werden, entsteht sehr stabiler, fehlertoleranter Code – der aber trotzdem Fehler nicht vor dem Entwickler versteckt. Das war immer ein großes Problem von Objective-C. 

Wir setzen Swift mit großem Erfolg in allen unseren iOS-Projekten ein. Es gibt ganz wenige Legacy-Projekte, die noch auf einer Mischung aus Objective-C und Swift Code basieren. Aber sie werden ständig weniger. Ich schätze, in den nächsten fünf Jahren wird Objective-C nur noch wenig Relevanz haben. Swift hat mittlerweile und vor allem mit der kommenden Version 4.0 einen sehr ausgereiften Stand erreicht. Es gibt meiner Meinung nach praktisch keinen Grund mehr, bei neuen Projekten nicht auf Swift zu setzen. Was ich und auch meine Kollegen im Bereich in Zukunft sehr spannend finden, sind natürlich Themen wie Server-side Swift, ARKit und CoreML. Die Möglichkeit, die Swift-Skills in ganz neuen Domänen einzusetzen, wird Türen öffnen. Ein Moment, auf den ich mich freue wie ein Kind auf Weihnachten!

Hast du Lob, Anregung oder Kritik zu diesem kleinen Höhenflug mit Swift? Sag mir, was du denkst. Mehr über mich  findest du hier. Übrigens suchen wir Mobile Software Engineers in München, Augsburg, Frankfurt, Berlin und Hamburg. Vielleicht schaust du ja bald mal bei uns vorbei – ich würde mich freuen:

Full Stack Mobile Developer (m/w)
iOS Developer (m/w)
Mobile Developer (m/w)
Mobile Security Engineer (m/w)
Mobile Test Engineer (m/w)
React Native Developer (m/w)
Senior Android Developer (m/w)

Titelfoto: Swift, dt.: Mauersegler. Von Paweł Kuźniar (Jojo_1, Jojo) - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=962740