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?