Interview mit Jonas Stubenrauch und Orlando Schäfer

Swift allein reicht noch nicht aus, um eine iOS-App zu entwickeln

Tom Wießeckel
Jonas Stubenrauch, Orlando Schäfer

Mit Swift hat Apple die Entwicklerwelt überrascht. Wie die Sprache nach der Veröffentlichung der Version 1.0 einzuschätzen ist, und wie man am besten den Umstieg von Objective-C auf Swift bewältigt, haben wir mit den beiden iOS-DevCon-Speakern Jonas Stubenrauch und Orlando Schäfer besprochen.

Apple hat auf der letzten WWDC mit Swift eine neue Programmiersprache vorgestellt – und damit eine ziemliche Bombe platzen lassen. Wie ist eure aktuelle Einschätzung, nachdem die Version 1.0 erschienen ist?

Orlando Schäfer: Apple hat seit der WWDC die Sprache kontinuierlich verbessert und weiterentwickelt. Zum Beispiel hat sich die Syntax für Collection-Types verändert, und Sichtbarkeiten von Klassen, Methoden und Properties wurden ergänzt. Die Versionsnummer 1.0 ist jedoch auch etwas irreführend.

Die Architektur, die Features und die Syntax sind zwar weitgehend final, was aus unserer Sicht jedoch nicht bedeutet, dass Swift bereits produktiv einsetzbar ist. So ist Refactoring mit Xcode 6 derzeit schlicht nicht möglich und die Autocompletion an vielen Stellen unzureichend. Darüber hinaus sind noch einige Compiler-Meldungen so nichtssagend, dass die Fehlersuche zum Ratespiel wird. Sprachfeatures wie Operator Overloading sind sehr mächtig, aber auch mit Vorsicht zu genießen, da sie auch zu unvorhergesehem Verhalten führen können.

Man muss sich bewusst machen, dass die Sprache noch sehr jung ist und so etwas wie „Best Practices“ dadurch noch nicht existieren können. Hier wird Apple aber sicher noch viel Energie investieren, um uns Entwickler schnellstmöglich zufrieden zu stellen. Zudem formiert sich die Swift-Community zunehmend stärker, und entsprechende Blogs tauchen immer zahlreicher im Netz auf.

iOS DevCon 2014  

iOS DevConDie iOS DevCon versammelt nationale und internationale Experten der iOS-Entwicklung, die einen tiefen Einblick in die iOS-Welt geben. Entwickler und Softwarearchitekten erhalten Informationen, Know-how und Best Practices zur Umsetzung von nachhaltigen Strategien für die mobile Zukunft in Unternehmen. Die iOS Developer Conference 2014 findet vom 10. bis 11. November in Düsseldorf statt und bietet Einsteigern wie fortgeschrittenen iOS-Entwicklern zahlreiche Sessions, Power Workshops, ein Speaker Panel und eine spannende Keynote.

Weitere Infos unter: www.ios-devcon.de

Was bedeutet Swift für Neueinsteiger? Viele der Neuerungen in der Sprache dürften Entwickler anderer Lager bekannt vorkommen.

Jonas Stubenrauch: Apple hat sich bei anderen Programmiersprachen die Rosinen herausgepickt, in Swift integriert und verschiedene Sprachaspekte miteinander vereint. Dadurch wirkt Swift moderner, bietet Entwicklern anderer Plattformen eine vertraute Umgebung und erleichtert den Einsteig in die iOS-Entwicklung.

Sobald man aber plant, ein komplexeres Projekt zu beginnen, und diverse Open-Source-Frameworks verwenden möchte, sollte einem bewusst sein, dass man weiterhin mit Objective-C in Berührung kommt. Insbesondere wenn man beim Debugging im Framework-Code landet, sollte man wissen, wie dieser funktioniert.

Die größte Hürde für Neulinge ist jedoch Sprachen-unabhängig. Man muss sich mit den iOS-Technologien vertraut machen, sich in Cocoa Touch, Core OS und andere Betriebssystem-Layer einarbeiten, lernen wie ein App- oder View-Controller-Lifecycle funktioniert und vieles mehr. Allein mit iOS 8 kamen rund 4000 neue APIs hinzu.
 
Da Swift ja aber doch einiges anders macht – wie ist der Umstieg einzuschätzen, gerade für alteingesessene Objective-C-Entwickler?

Orlando Schäfer: Die Einführung von Blocks, Collection-Literals, Modules und anderen Features formte die Objective-C Evolution, die ebenso als Basis für Swift diente. Bekannte Konstrukte, wie Named-Parameters oder das Dynamic-Object-Model, finden Objective-C Entwickler auch in Swift wieder.

Da sich ein erfahrener Objective-C Entwickler bereits bestens mit den Apple APIs auskennt, reduziert sich der Aufwand somit zunächst auf das Erlernen der Swift-Syntax. Natürlich fühlt es sich anfangs etwas merkwürdig an, wenn man jahrelang mit eckigen Klammern um sich geworfen hat – doch das ist alles nur Gewöhnungssache.

Zudem bietet Swift einen Freiheitsgrad an, den man beim Umstieg evtl. noch nicht völlig ausreizt, aber mit der Zeit zu schätzen und einzusetzen lernt. Darüber hinaus glaube ich, dass gerade die erfahrenen Objective-C-Entwickler sich schon intensiv mit Swift auseinandergesetzt haben und dadurch beim Umstieg weniger Probleme haben werden.

Nun ist Apple ja dafür bekannt, nicht lange zu fackeln – Neuerungen werden schnell auf den Markt gepusht und dort etabliert. Wie lange wird es eurer Meinung nach dauern, bis Apple Objective-C aussterben lässt und nur noch auf Swift setzt?

Jonas Stubenrauch: Swift wurde ebenso mit dem Ziel entwickelt, problemlos mit Objective-C-Code zu harmonieren. Es ist also keine Entweder-Oder-Entscheidung, die Sprachen können parallel im selben Projekt existieren.

Apple hat diesen Weg bewusst gewählt und viel in die Kompatibilität investiert. Das sieht man daran, dass uns Entwicklern Hilfestellungen (z.B. in Form eines Buches „Using Swift with Cocoa and Objective-C“) und Referenzen an die Hand gegeben werden, um dies umzusetzen. Objective-C ist nach wie vor noch die primäre Wahl bei der Erstellung von iOS und auch OS X Apps. Die Community ist sehr groß, das Wissen ist weit verbreitet, und es sind unzählige gute Frameworks im Umlauf.

Solange Cocoa und Cocoa Touch selbst noch in Objective-C-Code geschrieben sind, wird Apple uns auch nicht zu „Swift-Only“ Apps zwingen. Wir glauben, dass wir jetzt eine längere Übergangsphase erleben werden. Ein Aussterben kann Apple eines Tages nur künstlich erzwingen, indem sie verkünden: „Wir akzeptieren ab Tag X nur noch Apps, die komplett in Swift geschrieben sind“. Bis dahin vergehen aber sicher noch einige Jahre.
 
Mit Xcode 6 kommt auch der Playground, in dem der Code kontinuierlich übersetzt und ausgeführt wird – der Entwickler ist also jederzeit darüber im Bilde, was in seinem Code gerade passiert. Wird das das Thema Testing revolutionieren?

Orlando Schäfer: Nein. Playgrounds verfolgen ein völlig anderes Ziel. Zum einen wird Neulingen eine Möglichkeit gegeben, die Sprache komfortabel und praktisch zu lernen, ohne sich direkt mit dem Riesengebilde des Apple SDKs auseinandersetzen zu müssen.

Zum anderen kann man als Swift-Entwickler exploratives Coding betreiben. Es lassen sich schnell kleinere Code-Snippets untersuchen, diverse Proof-of-Concepts validieren oder neue Algorithmen „live“ entwickeln. Playgrounds sind so zu verstehen, wie der Name sie bereits beschreibt: als Spielwiese.

Eine neue Form von Closures – Blöcke in Objective-C –, Generics, Optionals … die Liste der Neuerungen in Swift ist lang. Was sind eure Highlights – und warum?

Jonas Stubenrauch: Für mich sind es die Optionals, insbesondere das Optional-Chaining. Bei der Implementierung von Delegates spart man hier doch einiges an Code bei gleichbleibender Lesbarkeit. Durch die Optionals wird die Behandlung von nil-Werten bewusster und der Code für Nicht-Optional-Typen vereinfacht, da diese immer einen Wert besitzen müssen.

Orlando Schäfer: Ganz ehrlich? Es klingt banal, aber ich bin einfach so froh, dass der Projektbaum in der IDE durch das Wegfallen von Header-Dateien schrumpfen wird.

Ansonsten bin ich Fan von Type-Inferrence, da mich das bei Objective-C immer gestört hat, den Typ auf beiden Seiten des Gleichheitszeichens schreiben zu müssen. Auch hier wirkt der Code kompakter und eleganter.

Auf der iOS DevCon haltet ihr einen Ganztagsworkshop zu Swift. Was wollt ihr den Besuchern darin vermitteln?

Jonas Stubenrauch: Zunächst einmal geht es nicht nur um Swift, denn die Sprache allein reicht noch nicht aus, um eine App zu entwickeln.

Im ersten Teil sprechen wir über die grundlegende Syntax und Sprachfeatures von Swift und gehen dabei aber auch direkt auf die Basis-Architektur von iOS ein. Wir vermitteln, welche Werkzeuge, Prozesse und Methoden bei der iOS-Entwicklung zum Einsatz kommen.

Im zweiten Teil wird dieses Wissen vertieft und um fortgeschrittene Swift-Features und iOS-Best-Practices erweitert.
 
Und danach ist man fit für seine erste, eigene App?

Orlando Schäfer: Die Grundlagen sind dann vorhanden. Um die erste eigene App schreiben zu können, benötigt man darüber hinaus auch immer noch etwas Eigeninitiative, Willen und Ideen 😉

Orlando, Jonas, vielen Dank für dieses Interview!

Jonas Stubenrauch arbeitet seit 2010 bei der arconsis IT-Solutions GmbH in Karlsruhe. Sein Schwerpunkt liegt in der nativen iOS-Entwicklung und Durchführung von iOS Trainings. Er hat Informatik am KIT in Karlsruhe studiert und sammelte schon während seines Studiums viele Erfahrungen in der agilen Entwicklung für mobile Geräte.

Orlando Schäfer verstärkt seit 2013 das arconsis iOS-Team. Seine Interessenschwerpunkte liegen dabei bei innovativen UI/UX-Konzepten und der Client-Kommunikation mit externer Hardware. Zu letzterem bringt Orlando Praxiserfahrung in der Entwicklung von Bluetooth Low Energy Apps und der Integration von Mobile Apps im Automotive Umfeld mit.

Geschrieben von
Tom Wießeckel
Tom Wießeckel
Thomas Wießeckel war von 2009 bis 2017 Redakteur bei Software & Support Media. Seine Themengebiete umfassen Webtechnologien und -Entwicklung sowie die Bereiche Mobile Development und Open Source. Er arbeitete an regelmäßig erscheinenden Magazinen wie dem PHP Magazin mit und hat das Magazin Mobile Technology ins Leben gerufen. Vor seiner Zeit als Redakteur hat er als freier PHP- und Frontend-Entwickler gearbeitet.
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Swift allein reicht noch nicht aus, um eine iOS-App zu entwickeln"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Osprey
Gast

Vielen Dank für den interessanten Beitrag!