· Marvin Taube · Project  · 3 min read

Simple ToDo App

Die Simple ToDo App ist meine iOS-App, entwickelt mit SwiftUI und Firebase. Sie bietet grundlegende To-Do-Funktionen und plant zukünftige Erweiterungen für eine verbesserte Aufgabenverwaltung.

Die Simple ToDo App ist meine iOS-App, entwickelt mit SwiftUI und Firebase. Sie bietet grundlegende To-Do-Funktionen und plant zukünftige Erweiterungen für eine verbesserte Aufgabenverwaltung.

Die App

Die Simple ToDo App ist das zweite Projekt für dieses Jahr. Das Ziel war es, mich etwas mit der App-Entwicklung auseinanderzusetzen, und da ich ein iPhone habe, lag die iOS-Entwicklung nahe. Um mich nicht in zu komplexen Ideen zu verlieren und aufgrund meiner begrenzten Zeit im Februar, habe ich mich für eine ToDo App entschieden. Es gibt schon viele Apps, die genau das tun, aber ich wollte schon immer meine eigene entwickeln, da ich oft Features bei der einen oder anderen App vermisse. Dieses Projekt wird daher meine persönliche “go-to” ToDo-Lösung sein.

Showcase

Aktuell ist die App sehr minimalistisch aufgebaut. Es gibt nur die Listenansicht und eine Detailansicht der einzelnen To-Dos (die zum aktuellen Stand jedoch noch nicht viel mehr anzeigt). Weiterhin kann man To-Dos hinzufügen, erledigen und durch eine “Swipe”-Bewegung entfernen. Alles ist natürlich persistent und kann daher bereits genutzt werden.

Zurzeit steht die App noch nicht zum Download zur Verfügung. Dies wird sich jedoch ändern, sobald ich die Apple Developer Lizenz erhalte, dann wird man hier einen entsprechenden Link finden.

Technische Umsetzung

Bei der technischen Umsetzung habe ich mich auf die Swift-Entwicklung (SwiftUI) in Xcode und auf Firebase im Backend beschränkt. Die aktuellen Strukturen sind sehr grundlegend und werden vermutlich ab der nächsten Version auch hier dokumentiert werden.

Eine Besonderheit ist die Verwendung des MVVM-Musters, das in der iOS-Entwicklung anscheinend oft genutzt wird. Durch dieses Projekt habe ich also auch eine neue Strukturierung kennengelernt.

MVVM Pattern

Das MVVM-Muster (Model-View-ViewModel) ist ein Entwurfsmuster, das häufig in der iOS-Entwicklung in großen Projekten verwendet wird. Dabei wird der Code in 3 Arten aufgeteilt:

  1. Modell:
    • Das Modell repräsentiert die Daten und die Geschäftslogik der Anwendung. Es enthält Klassen und Strukturen, die die Daten darstellen, sowie Methoden, um auf diese Daten zuzugreifen und sie zu verarbeiten.
  2. View:
    • Die View ist die Benutzeroberfläche der Anwendung, die das Aussehen und die Interaktionen bereitstellt. Sie enthält in der Regel Layouts, Steuerelemente und andere visuelle Elemente, die dem Benutzer präsentiert werden.
  3. ViewModel:
    • Das ViewModel fungiert als Bindeglied zwischen Modell und Ansicht. Es stellt die Daten für die Ansicht bereit und enthält Logik, die für die Darstellung und Verarbeitung dieser Daten benötigt wird. Das ViewModel nimmt Eingaben von der Ansicht entgegen, verarbeitet sie und aktualisiert bei Bedarf das Modell oder informiert die Ansicht über Änderungen.

Das MVVM-Muster fördert eine klare Trennung von Anwendungslogik und Benutzeroberfläche, was die Wartbarkeit und Testbarkeit der Anwendung verbessert. Durch die Verwendung von Bindungen können Änderungen an den Daten automatisch in der Benutzeroberfläche aktualisiert werden, was die Entwicklung erleichtert und die Code-Wiederholung reduziert.

Obwohl dieses Projekt klein genug gewesen wäre, um es direkt zu implementieren, habe ich mich für dieses Entwurfsmuster entschieden. Entwurfsmuster sind wichtig zu kennen, und in einem kleinen Projekt lässt sich viel genauer darauf achten, wie etwas implementiert werden sollte, damit die Anforderungen erfüllt werden. Zudem ist die Struktur der App bereits definiert, und Erweiterungen sollten somit leichter zu implementieren sein.

Geplante Features

Sollte in den nächsten Wochen wieder mehr Zeit verfügbar sein werde ich die folgenden Features gerne noch implementieren:

  • ToDos im Detail: Man sollte ein paar mehr Informationen in den einzelnen ToDos speichern können.
  • Reminders: Wie jede gute App sollte man Reminder setzten können für die ToDos.
  • iOS Widgets: Es sollte kleine Widgets geben, welche man auf die Startseite packen kann.
  • Shared ToDos: Es sollte möglich sein ToDos zwischen verschiedenen Usern zu teilen.
  • Mehr Features Überlegen!
Share:
Back to Blog

Related Posts

View All Posts »
Pigeonport AI

Pigeonport AI

Pigeonport AI ist ein kleiner Web-Wrapper für das DALLE-3-Modell von OpenAI, um die Benutzung zu vereinfachen.

Die Idee: Pigeonport

Die Idee: Pigeonport

Pigeonport ist meine persönliche Webseite, die ich mit dem Astro JS Framework erstellt habe. Auf dieser Plattform teile ich meine Projekte und Gedanken, mit dem Ziel, technisches Wissen zugänglich und verständlich zu präsentieren.