iOS-Entwicklung verstehen und meistern

Praktische Einblicke, bewährte Methoden und echte Erfahrungen aus der Welt der iOS-Programmierung. Hier teilen wir unser Wissen über SwiftUI, UIKit und alles, was dazwischen liegt.

SwiftUI Entwicklungsumgebung auf modernem MacBook
SwiftUI Februar 2024

Von UIKit zu SwiftUI – wenn der Wechsel wirklich Sinn macht

Nach drei Jahren intensiver Arbeit mit beiden Frameworks ist mir eines klar geworden: Es gibt keinen perfekten Zeitpunkt für den Umstieg. Manche Projekte profitieren sofort von SwiftUI, andere brauchen die Stabilität von UIKit. Ich erkläre, worauf es ankommt und wie man die richtige Entscheidung trifft.

Weiterlesen
Code-Review Session mit iOS Entwicklerteam
Best Practices Januar 2024

Memory Management in Swift – die Fehler, die jeder macht

Retain Cycles sind wie kleine Zeitbomben in deinem Code. Du bemerkst sie oft erst, wenn die App im Speicher erstickt. Ich zeige dir die klassischen Fallen und wie man sie elegant umgeht – ohne ständig weak und unowned zu jonglieren.

Weiterlesen
App-Testing auf verschiedenen iOS-Geräten
Testing Dezember 2023

Unit Tests schreiben, ohne den Verstand zu verlieren

Ehrlich gesagt hasste ich Tests früher. Sie fühlten sich an wie zusätzliche Arbeit ohne direkten Nutzen. Bis ich begriffen habe, wie man sie richtig macht. Heute spare ich mehr Zeit, als ich investiere – und meine Apps brechen deutlich seltener zusammen.

Weiterlesen
Performance-Optimierung einer iOS-Anwendung
Performance November 2023

Smooth Scrolling bei langen Listen – der Unterschied zwischen gut und großartig

Eine ruckelnde TableView ist wie ein Kratzer auf einem neuen Auto. Man sieht es sofort und es nervt endlos. Die gute Nachricht: Mit den richtigen Techniken lässt sich fast jede Liste butterweich scrollen – auch mit komplexen Zellen und Bildern.

Weiterlesen

Async/Await hat meine Art zu coden komplett verändert

Erinnerst du dich an die Zeit mit Completion Handlers? Diese endlosen Klammern, die verschachtelten Closures, das ständige Raten, auf welchem Thread man gerade ist?

Als Apple async/await einführte, war ich skeptisch. Wieder eine neue Syntax lernen? Aber nach dem ersten Projekt gab es kein Zurück mehr. Der Code wurde nicht nur sauberer – er wurde verständlich.

Plötzlich konnte ich asynchrone Operationen lesen wie normalen, sequenziellen Code. Fehlerbehandlung wurde trivial. Threading-Probleme verschwanden fast von selbst.

In diesem Artikel zeige ich dir, wie du von altem Callback-Code zu modernem async/await migrierst – und warum es sich lohnt, auch in bestehenden Projekten umzustellen.

Erfahrener iOS-Entwickler bei der Arbeit mit Xcode
Warum Combine manchmal die bessere Wahl ist
Reactive Programming für iOS-Apps

Reactive Programming klingt kompliziert. Und ehrlich gesagt ist es das auch – am Anfang. Aber sobald man das Konzept verinnerlicht hat, löst Combine Probleme, die sonst schnell unübersichtlich werden.

Denk an eine Suche mit Auto-Completion. Der klassische Ansatz mit Timern und manueller Zustandsverwaltung wird schnell zur Hölle. Mit Combine? Vier Zeilen Code.

  • Debouncing wird zum Kinderspiel – kein manuelles Timer-Management mehr
  • Verkettung mehrerer asynchroner Operationen bleibt übersichtlich
  • Fehlerbehandlung läuft zentral über einen einzigen Mechanismus
  • Publisher lassen sich kombinieren, filtern und transformieren wie Lego-Steine

Der Trick ist, klein anzufangen. Nimm einen einzelnen Use Case – vielleicht einen API-Call mit Retry-Logik – und bau ihn mit Combine. Du wirst überrascht sein, wie elegant die Lösung ist.

Core Data oder SwiftData? Die Qual der Wahl
Persistenz-Frameworks im Vergleich

SwiftData ist Apples neuester Versuch, Datenpersistenz einfacher zu machen. Und ja, es ist tatsächlich einfacher als Core Data – zumindest für grundlegende Szenarien.

Aber hier ist die Sache: Core Data hat 15 Jahre Entwicklung hinter sich. Es gibt Lösungen für praktisch jedes Problem, eine riesige Community und unzählige Stack Overflow Antworten.

  • SwiftData glänzt bei neuen Projekten mit einfachen Datenmodellen
  • Core Data bietet mehr Kontrolle über Migration und Performance-Optimierung
  • Für komplexe Beziehungen und Queries ist Core Data oft noch die bessere Wahl
  • SwiftData integriert sich nahtlos mit SwiftUI – kein NSFetchedResultsController mehr

Meine Faustregel: Neue Apps mit moderatem Datenmodell? SwiftData. Alles andere? Core Data ist noch nicht tot.

Die Kunst der App-Architektur
Von MVC zu MVVM und darüber hinaus

Architektur-Patterns sind wie Religions-Debatten. Jeder hat eine Meinung, niemand gibt nach. Aber nach Jahren des Experimentierens habe ich gelernt: Die perfekte Architektur gibt es nicht.

MVC ist nicht automatisch schlecht. MVVM ist nicht die Lösung für alles. Und VIPER kann schnell zum Overkill werden. Die Frage ist immer: Was passt zu deinem Projekt?

  • Kleine Apps kommen oft mit klassischem MVC gut zurecht
  • MVVM macht Sinn, wenn du viele komplexe UI-Zustände hast
  • Redux-ähnliche Patterns helfen bei komplexen State-Management-Anforderungen
  • Die Architektur sollte wachsen können – nicht von Tag eins perfekt sein

Fang einfach an. Refactore, wenn der Code unübersichtlich wird. Und hör nicht auf jeden, der behauptet, seine Lösung sei die einzig richtige.