News

Würdest du lieber mit SwiftUI oder UIKit arbeiten?

DATE:
December 30, 2022
READING TIME:
10min

UI-Frameworks sind die Schlüsselkomponente der Architektur mobiler Apps. Als Apple begann, das neue SwiftUI-Framework mit iOS 13 zu verwenden, nimmt es schnell den Platz von UIKit ein, das einst ausgiebig genutzt wurde. SwiftUI, das verspricht, das kompliziertere UIKit schnell und vollständig zu ersetzen, hat seit seiner Veröffentlichung viel Aufmerksamkeit erregt. Beide Frameworks haben viele Vorteile, aber jedes hat seine eigenen Nachteile. Obwohl jedes Projekt SwiftUI oder UIKit möglicherweise anders verwendet, wird Apple wahrscheinlich anfangen, UIKit abzulehnen, wenn man bedenkt, dass SwiftUI effektiver für moderne Geräte optimiert ist und stärkere Codekomponenten bietet.

Wie bereits erwähnt, ist jedes dieser UI-Frameworks einzigartig. Der entscheidende Punkt ist, dass beide Entwickler bei der Erstellung robuster Anwendungen unterstützen.

UIKit — KLASSISCH

Mithilfe des UIKit-Frameworks können Sie Benutzeroberflächen (UI) erstellen, die Benutzer-, System- und App-Interaktionen verwalten und gleichzeitig Berührungsereignisse und Eingaben verarbeiten können. Viele der wichtigsten Objekte Ihrer App, z. B. diejenigen, die mit dem Betriebssystem kommunizieren, die Hauptereignisschleife steuern und Ihre Inhalte auf dem Bildschirm präsentieren, werden von UIKit bereitgestellt. Die meisten dieser Elemente werden direkt oder mit sehr geringen Änderungen verwendet. Um Ihr Programm zu implementieren, müssen Sie wissen, welche Elemente bearbeitet werden müssen und wann sie geändert werden müssen. Viele der grundlegenden Typen, die Sie zur Definition der Modellobjekte in Ihrer App verwenden, werden von den UIKit- und Foundation-Frameworks bereitgestellt. Für die Anordnung der Datenstrukturen, die zu einer festplattenbasierten Datei gehören, bietet UIKit ein UIDocument-Objekt. Die grundlegenden Objekte, die Texte, Zahlen, Arrays und andere Datentypen darstellen, werden durch das Foundation-Framework definiert. Viele dieser im Foundation-Framework enthaltenen Typen sind auch in der Swift Standard Library verfügbar.


UIKit wurde mit der Programmiersprache Objective-C erstellt und veröffentlicht. Noch heute, wenn Sie für die iOS-Plattform programmieren, stoßen Sie häufig auf Objective-C-Code. Obwohl Swift von immer mehr Programmierern verwendet wird, wurde das UIKit-Framework immer noch unter Berücksichtigung von Objective-C erstellt.

SwiftUI — AUFGEWECKT

Apple verblüffte alle Entwickler auf der WWDC 2019 mit der Vorstellung eines brandneuen Frameworks namens SwiftUI. Es beeinflusst mehr als nur die Art und Weise, wie Sie iOS-Apps erstellen. Seit der Veröffentlichung von Swift war dies die bedeutendste Änderung im Apple-Entwickler-Ökosystem (zu dem iPadOS, macOS, tvOS und watchOS gehören).


Obwohl SwiftUI brandneu ist, hat es ein vertrautes Erscheinungsbild, obwohl sich die Konzepte, die SwiftUI zugrunde liegen, erheblich von denen von UIKit und AppKit unterscheiden. Das Framework enthält alle Elemente, die Sie zum Erstellen von Benutzeroberflächen benötigen, einschließlich Listen, Stacks, Buttons, Pickern und vielen anderen Funktionen, die Sie bereits von UIKit und AppKit gewohnt sind. Darüber hinaus bietet es Ihnen die Ressourcen, die Sie zum Hinzufügen von Animationen, Gestenintegration und benutzerdefinierten Ansichten benötigen.


Xcode-Benutzer können jetzt die Benutzeroberfläche einer App mit der deklarativen Swift-Syntax erstellen, was bedeutet, dass das Schreiben von UI-Code einfacher und natürlicher ist. Im Vergleich zu UI-Frameworks wie UIKit können Sie dieselbe Benutzeroberfläche mit weitaus weniger Code erstellen.


Mit Hilfe von SwiftUI können Sie Benutzeroberflächen mit weniger Code erstellen. Im Gegensatz zu UIKit, das häufig mit Storyboards kombiniert wird, ist es vollständig softwarebasiert. Die Syntax von SwiftUI ist jedoch relativ einfach zu verstehen, und wenn Sie ein SwiftUI-Projekt schnell überprüfen möchten, können Sie die automatische Vorschau verwenden. SwiftUI hat mehrere Einschränkungen und funktioniert unter iOS 14 und iOS 15 besser. Auf der anderen Seite können Sie mit UIKit iOS 9.0 unterstützen. Infolgedessen ist UIKit anpassungsfähiger. Wenn es um Abwärtskompatibilität geht, besiegt es SwiftUI zweifellos.

EIN PAAR UNTERSCHIEDE ZWISCHEN DIESEN BEIDEN FRAMEWORKS

Sie können Interface Builder oder Code verwenden, um Ihre gesamte Benutzeroberfläche mit UIKit zu definieren, und Sie können eine Benutzeroberfläche entwerfen, indem Sie zahlreiche UIKit-UI-Komponenten mit dem Interface Builder von Xcode ziehen und ablegen.


Apple hat den Interface Builder jedoch zugunsten von Live Preview mit SwiftUI aufgegeben. Während Sie Ihren SwiftUI-Code bearbeiten, wird eine Live-Vorschau generiert. Ihr UI-Code kann mithilfe der Live-Vorschauen visuell überprüft werden, und alle Änderungen, die Sie an Ihrem Code vornehmen, werden sofort in der Live-Vorschau angezeigt.


Wie bereits erwähnt, erfordert UIKit, dass Sie angeben, was angezeigt wird, wann es aktualisiert wird und wie zwischen verschiedenen Benutzeroberflächenzuständen gewechselt werden soll. Dies funktioniert reaktiv mit SwiftUI: Was der Benutzer auf dem Bildschirm sieht, ist eher ein Nebenprodukt der Aktualisierung der View-Struktur und der Tatsache, dass das System festlegt, was getan werden muss, um den Bildschirm an diesen neuen Status anzupassen. Für Entwickler, die von UIKit zu SwiftUI wechseln, ist dies eine der schwierigsten Schwierigkeiten, die es zu überwinden gilt, da sie eine andere Perspektive erfordert.


Im Vergleich zu SwiftUI sind viel mehr UIKit-Inhalte zugänglich. Dies ändert sich jedoch stetig, da immer mehr Teams SwiftUI verwenden. Die Anzahl der UIKit-basierten Codebasen, die derzeit existieren, muss berücksichtigt werden. Viele dieser Codebasen können SwiftUI aufgrund der unterstützten Versionsbeschränkungen unter iOS 13 einfach nicht unterstützen. Aus diesem Grund wird UIKit auf absehbare Zeit weiterhin den Großteil der laufenden, praktischen Entwicklungsarbeit erhalten.


Mit SwiftUI können Sie viele schöne Animationen und Übergänge kostenlos erhalten. Bei UIKit müssen Sie, abgesehen von einigen grundlegenden Änderungen, aktiv Animationen in Ihrem Code definieren. UIKit erfordert mehr Arbeit als SwiftUI, um eine butterglatte Benutzeroberfläche zu erreichen.


Sie müssen SwiftUI verwenden, wenn Sie Widgets für iOS erstellen möchten. Beim Erstellen eines Widgets kann UIKit nicht verwendet werden, und eine UIKit-basierte App kann ein SwiftUI-basiertes Widget enthalten. Achten Sie nur auf die Verbindung zwischen Widgets und SwiftUI. Widgets bieten auch in diesem Bereich eine Chance: Ein Widget kann ein großartiger Ausgangspunkt sein, um mit der Implementierung von SwiftUI in einer ansonsten ausschließlich UIKit-basierten App zu beginnen. Wenn ein Widget erforderlich ist, ist eine SwiftUI-Codierung erforderlich.

ALSO, WELCHES WÜRDEST DU WÄHLEN?

Abhängig von Ihrem Geschmack und Ihren Prioritäten als Entwickler hat jedes Framework seine Vorteile und bietet eine Reihe von Vorteilen. Wenn Sie eher an die moderneren und grafikorientierteren Workflows anderer Plattformen gewöhnt sind, fällt es Ihnen schwer, Ansichten manuell zu codieren. Wenn ja, könnte Ihnen gefallen, was SwiftUI bietet.


Aber was ist, wenn Sie nach einem Tool suchen, das Ihnen die Flexibilität und Fähigkeit bietet, komplexe Lösungen zu entwickeln, mit denen erfahrene Entwickler umgehen können? Dann könnte UIKit Ihre beste Wahl sein. Möglicherweise benötigen Sie Hilfe, um mit SwiftUI das gleiche Maß an Kontrolle zu erreichen, während Sie mit Storyboards oder auch nur mit Nib-Dateien arbeiten. Und das ist einer der Hauptgründe, warum es manchen Menschen schwer fällt, es loszulassen.


SwiftUI kann in Bezug auf die Langlebigkeit einen Vorteil gegenüber UIKit haben, aber SwiftUI fügt auch täglich aktiv neue Funktionen hinzu. Zum Glück können Sie diese beiden Frameworks kombinieren, um bei der Erstellung von Apps einen Mehrwert zu bieten. Apropos wertvolle Apps: Wenn Sie großartige Entwickler benötigen, können Sie sich gerne an uns wenden. Wir bei SnapStack sind stolz darauf, dass wir mit vielen talentierten und leidenschaftlichen Menschen zusammenarbeiten, die maßgeschneiderte Lösungen anbieten.

Frohe Feiertage wünscht das Team von SnapStack Solutions. Wir wünschen Ihnen ein glückliches und erfolgreiches Jahr, herzliche Gedanken und beste Wünsche!

READ MORE ON OUR BLOG
Discover similar posts
Digitale Transformation im Gesundheitswesen: Warum Sie mitmachen sollten

Die Integration von Technologie im Gesundheitswesen schafft ein effizienteres, zugänglicheres und patientenorientiertes System. Im Zeitalter der rasanten Digitalisierung können Organisationen im Gesundheitswesen sich von anderen abheben, wenn sie die digitale Transformation verstehen und umsetzen. Aber was genau ist digitale Transformation im Gesundheitswesen und warum ist sie so wichtig? In diesem Artikel werden diese Fragen untersucht und die Bedeutung und die Vorteile der digitalen Transformation untersucht. Wir werden auch den Prozess der effektiven Umsetzung dieser Änderungen beleuchten.

Read More
Was ist Web3-Technologie, wie funktioniert sie, Vorteile

Das Internet hat sich seit seiner Einführung drastisch weiterentwickelt — von statischen Seiten zu dynamischen Plattformen hat es die Art und Weise verändert, wie wir interagieren, kommunizieren und Geschäfte tätigen. Jetzt stehen wir am Rande einer weiteren Revolution: Web3. Aber was ist Web3-Technologie? Diese neue Ära des Internets verspricht einen radikalen Wandel weg von der zentralen Kontrolle hin zu einem dezentralen Ökosystem, in dem die Benutzer mehr Besitz und Kontrolle über ihre Daten und digitalen Vermögenswerte haben. Web3 basiert auf der Blockchain-Technologie und zielt darauf ab, eine offenere, sicherere und gerechtere digitale Welt zu schaffen. Erkunden Sie mit uns die Grundlagen von Web3, seine Schlüsseltechnologien und die potenziellen Auswirkungen, die es auf Einzelpersonen, Unternehmen und die Gesellschaft insgesamt haben wird.

Read More
KPIs der digitalen Transformation: So wählen Sie die richtigen für Ihre Initiativen aus

Da die digitale Transformation in allen Branchen weiterhin Wellen schlägt, ist klar, warum 91% der Unternehmen irgendeine Form von digitaler Initiative ergreifen. Kurz gesagt, bei der digitalen Transformation geht es darum, mithilfe von Technologie neue Geschäftsmodelle zu entwickeln, Betriebsprozesse zu optimieren und das Kundenerlebnis zu verbessern. KPIs (Key Performance Indicators) für die digitale Transformation spielen eine entscheidende Rolle bei der Messung des Fortschritts und Erfolgs dieser Initiativen.

Read More