I decided to do the new Apple SwiftUI tutorial. In the tutorial you build a Scrum app.
Apple describe scrums as "short meetings where each attendee discusses what they accomplished yesterday, what they are working on today, and any obstacles that might impact their work."
Here are my thoughts on the tutorial:
- It feels more in depth than the first landmarks tutorial from last year. The app has some nice functionality and feels complete rather than most tutorials which tend to concentrate in particular areas.
- In the app the persistence is done through a file vs core data. There was some speculation that this could be an indication of the future around persistence from Apple. To me it feels like more of a time saver than a hint on direction Apple might go in future.
- I think beginners would find the tutorial complex. In the introduction Apple say they are targeting experienced developers who are new to SwiftUI. It does feel this way although if you are brand new to SwiftUI there is a lot of new information to take in and I think it would be learn some basics before attempted this tutorial.
- There’s a huge emphasis on Accessibility. A lot of the first chapters are covering VoiceOver. Something I’ve overlooked adding to my own apps beyond the default behaviour and will start to add from now on!
- Some of the decisions taken during the tutorial seem a little strange at times. Some of the naming of structures and how they achieve bindings in one place is a bit convoluted. There's also a strange use of @ObservedObject in the App struct which seems like it should be @StateObject if the Apple docs are to be believed. I don't think it makes too much of a difference which one is chosen in this case but for correctness/completeness I think as the App owns the data object it should be @StateObject.
- Finally there's no use of @EnvironmentObject at all which I think is a key concept that should have been covered in this tutorial and at ~4 hours in length could have definitely been added
Have you done the tutorial - let me know how you found it through twitter