I wrote the first two articles of a series to teach how to make desktop applications using Haskell and GTK 4 / Libadwaita, using the Elm architecture.
It’s not a complete guide, and it’s not focused on a deep understanding of the libraries at play here, but it aims to serve as an ice breaker because I know that these things can feel intimidating.
I hope you’ll enjoy reading them as much as I enjoyed writing them!
Pretty nice! It’s great to have an up to date blog for the basics. I remember when I was struggling with startup because I didn’t know to use the activate signal.
Also, I was looking at how you update the UI state. If you call applicationWindowSetContent, you replace the whole window content every update. It seems pretty inefficient to me for larger applications or animations. Do you have a remedy (e.g. React style diffing) or is this only meant for smaller apps to keep things simple?
Pretty nice! It’s great to have an up to date blog for the basics. I remember when I was struggling with startup because I didn’t know to use the activate signal.
My pleasure!
If you call applicationWindowSetContent, you replace the whole window content every update. It seems pretty inefficient to me for larger applications or animations.
Yes, for a todo app it doesn’t really matter, and I didn’t want to introduce any kind of diffing / reconciliation mechanism so early in the series. Stay tuned for more!