Der sanfte Weg von Objective-C zu Swift

Seite 4: Fazit

Inhaltsverzeichnis

Mit Version 1.2 hat Swift mittlerweile einen Reifegrad erreicht, der Apples neue Programmiersprache zu einem ernst zu nehmenden Konkurrenten für Objective-C werden lässt. Nicht nur die Community wächst, auch die Anzahl der frei verfügbaren Swift-Frameworks steigt stetig. Als einer der bekanntesten Vertreter wäre hier etwa das Swift-Pendant zu AFNetworking, Alamofire, zu nennen. Mittlerweile hat auch das beliebte Dependency-Management-System Cocoapods die Zeichen der Zeit erkannt und bietet ab der aktuellen Version (0.36) Swift-Support.

Alles scheint sich genau so zu entwickeln wie von Apple geplant. Um den Entwicklern den Umstieg in die neue Welt zu erleichtern, ist die Vermischung beider Sprachen mehr oder minder problemlos möglich, was eine schrittweise Migration bestehender Objective-C-Projekte erlaubt. Lediglich ein paar Regeln sind zu befolgen und ein paar Konstrukte bewusst zu vermeiden.

Um sicherzustellen, dass der migrierte Code am Ende das tut, was er soll beziehungsweise das, was der alte Code getan hat, ist eine hinreichende Testabdeckung unabdingbar. Was theoretisch zum guten Ton der Softwareentwicklung gehört, in der Praxis aber häufig die Ausnahmen darstellt, könnte also die größte Hemmschwelle für eine vollständige Migration sein. Bleibt zu hoffen, dass Apple nicht irgendwann den Support für bestehende Frameworks und Bibliotheken einstellt.

Michael Kotten
arbeitet seit 2006 bei der open knowledge GmbH und ist seitdem neben seiner Tätigkeit als Enterprise Java Developer für die Entwicklung von mobilen Applikationen zuständig. Angefangen mit Java ME und Symbian OS, beschäftigt er sich seit der Einführung 2008 mit iOS.

Lars Röwekamp
ist Gründer des IT-Beratungs- und Entwicklungsunternehmens open knowledge GmbH und beschäftigt sich im Rahmen seiner Tätigkeit mit der eingehenden Analyse und Bewertung neuer Software- und Techniktrends. Ein besonderer Schwerpunkt seiner Arbeit liegt derzeit in den Bereichen Enterprise und Mobile Computing.
(jul)