In dieser Serie erstellen wir eine Todo-Listen-Anwendung mit Haskell, GTK 4 und der Adwaita-Bibliothek. Adwaita bietet viele nützliche Widgets und Stile. Die Zielgruppe sind fortgeschrittene Haskeller mit Entwicklungserfahrung.
GTK 4 und Adwaita kodieren die Zugänglichkeits- und Stilentscheidungen des GNOME-Projekts (Human Interface Guidelines). Libadwaita ermöglicht responsives Design und Laufzeit-Neufärbung beim Wechsel zwischen hellen und dunklen Themen. Wir verwenden das haskell-gi-Toolkit, das automatisch Haskell-Bindungen aus GTK-Bibliotheken generiert und sich auf die C-API bezieht.
Wir erstellen eine Adwaita Application, die die Ressourcenverwaltung übernimmt. Die Elm-Architektur (TEA) strukturiert das Programm mit drei Konzepten: Model (Zustand), View (UI) und Update (Zustandsänderungen über Messages). Effects sind Nebenaktionen, die von Update zurückgegeben werden.
Die Todo-App modelliert alles als Datenstrukturen. Das Model enthält eine Map von Todos und eine nächste ID. Messages repräsentieren Benutzerinteraktionen, und Effects umfassen das Speichern der Todo-Liste auf der Festplatte. Das vollständige Projekt befindet sich unter https://github.com/Floreal-Technologies/adwaita-todo.
Schlüsselentitäten: Unternehmen: Floréal Technologies, GNOME
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing