Nein, es liegt (sehr wahrscheinlich) nicht an dir: Bei SwiftUI hakt es

Seit der erstmaligen Vorstellung von SwiftUI während der WWDC 2019 war ich enorm begeistert von Apples neuem UI-Framework (und bin es auch heute noch). Bereits mit iOS 13 nutzte ich SwiftUI in eigenen Projekten und sah mehr oder weniger wohlwollend über diverse Fehler hinweg, die ich gerne als „Kinderkrankheiten“ bezeichnete. Ich gestand Apple gerne ein ganzes Jahr zu, in denen sie das Framework fit machen, nachdem sie es in die Entwickler-Welt hinaus gesandt haben.

Und tatsächlich war ich guter Dinge. Mit der Veröffentlichung von iOS 14 und Xcode 12 verschwanden mit einem Schlag diverse Probleme, die der Einsatz von SwiftUI mit sich brachte. Das betraf sowohl kleinere Glitches als auch schwerwiegendere Fehler, die sich nur mit hohem Aufwand oder nervigen Workarounds lösen ließen (wenn überhaupt). iOS 14 und Xcode 12 schienen SwiftUI eine Stabilität zu geben, mit der sich das Framework schließlich so richtig ernst nehmen ließ.

Und es kam iOS 14.x …

Doch dieser Zustand hat sich zwischenzeitlich leider wieder gewandelt. War iOS 14.0 in Sachen SwiftUI durch und durch gelungen, kam es mit den nachfolgenden Feature Releases zu neuen Problemen. Bereits gefixte Bugs sind plötzlich wieder da, und das Verhalten von SwiftUI stimmt teils nicht mit dem überein, was zu erwarten ist (wer einmal versucht, eine programmatische Navigation in einer NavigationView umzusetzen, weiß an dieser Stelle sehr wahrscheinlich, wovon ich spreche).

Und auch wenn ich die Fehler immer zuerst bei mir selbst und nur in letzter Konsequenz bei anderen suche, bleibt mir Stand heute nichts anderes übrig, als mit dem Finger auf Apple zu zeigen. Irgendwo zwischen iOS 14.1 und der aktuellen Version 14.4 haben sie SwiftUI teils so vermurkst, dass es nicht mehr feierlich ist. Binnen zwei Wochen bin ich auf zwei kritische Bugs gestoßen, die offensichtlich in SwiftUI stecken und unter iOS 14.0 noch nicht zu finden waren. Ich habe bereits einige Stunden geopfert, um Fehler, die letztlich in SwiftUI zu finden waren, selbst in meinem eigenen Code zu lösen. Und das kann nicht Sinn der Sache sein.

In der kommenden Version 14.5 von iOS ist einer der zwei genannten Bugs behoben, der andere bis dato aber noch nicht. Apple ist von meiner Seite darüber informiert, doch ob es noch für einen Fix in iOS 14.5 reicht, wage ich zu bezweifeln.

Apple muss Gas geben

In meinen Augen wird es in diesem Jahr höchste Zeit, dass Apple SwiftUI endlich auf stabile Füße stellt. Es kann nicht sein, das Feature Releases von iOS und Co. zu fehlerhaftem Verhalten von SwiftUI-Funktionen führen, für die wir als Entwickler nichts können. Erst recht nicht, wenn manche dieser Fehler mit SwiftUI kaum zu beheben sind und man somit auf Gedeih und Verderb auf eine stabile Code-Basis durch Apple angewiesen ist.

Spätestens mit Xcode 13 und iOS 15 (und natürlich all den anderen neuen Versionen von Apples Betriebssystemen) muss SwiftUI ein stabiles und sicheres Fundament besitzen. Nach zwei Jahren Entwicklung in freier Natur darf man das meiner Ansicht nach auch erwarten. Schafft Apple das nicht, laufen sie Gefahr, dass sich Entwickler enttäuscht von SwiftUI abwenden und so schnell auch nicht mehr damit arbeiten werden. Und sie hätten wohl recht damit. Wenn SwiftUI die Zukunft sein soll, darf Apple nicht weiter Vertrauen verspielen und muss zeigen, dass sie es mit diesem im Grunde ja wirklich gelungenen UI-Framework ernst meinen. Ich hoffe sehr, dass sie das hinkriegen werden.

Und by the way, liebe Entwickler bei Apple: Bitte vervollständigt endlich einmal diese unsägliche Dokumentation! Es ist ein Graus, wenn man als Entwickler raten darf, was eine Funktion tut oder wie man sie einsetzen soll. Auch das sollte nach bald zwei Jahren, in denen SwiftUI zur Verfügung steht, definitiv nicht zu viel verlangt sein.

Euer Thomas


Kommentare

Eine Antwort zu „Nein, es liegt (sehr wahrscheinlich) nicht an dir: Bei SwiftUI hakt es“

  1. Avatar von Bernd Kircher
    Bernd Kircher

    Ist nur blöd für mich als Anfänger, weil da weiß ich nun wirklich nicht mehr wo das Problem liegt. Ich hoffe, der Schwachsinn mit der jährlichen OS Version (mit vielen alten und immer neuen Problemen) wird bald abgestellt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert