#SwiftUI animation is hard. Harder than it should be.
I appreciate folks who have put out resources (blogs, tutorials, sample code, etc) to help others grasp at the capabilities of the animation system. I've seen some truly incredible work. The #WWDC23 talks on the Animation system were also enlightening.
But it still feels really hard to go from a vision or idea to an implementation. In my opinion, *we need better debugging and introspection tools*. There's too much guess-and-check right now.
I'm coming from a decent background with other UI and animation systems (CSS, Flash/ActionScript, etc). I imagine it's much harder for someone who doesn't have the same conceptual foundation.
Some resources worth sharing:
* Javier's amazing blog: https://swiftui-lab.com/
* Swift Talk's SwiftUI series: https://talk.objc.io/collections/swiftui
* Lectures 7 & 8 from Stanford CS193P https://www.youtube.com/watch?v=PoeaUMGAx6c
* Explore SwiftUI animation (WWDC23) https://developer.apple.com/wwdc23/10156
Would love to hear from other #Swift #ios #visionos #swiftui developers about their experience and what resources they found helpful!
@aoberoi @StewartLynch had high praise for the book “SwiftUI Animations Mastery” by Big Mountain Studio in this video: https://youtu.be/xGNR7tvDE0Q (the book is linked from the video description).
@aoberoi @StewartLynch Oh, and the app Kolibri by @sandropennisi might be helpful: https://apps.apple.com/in/app/kolibri-for-swiftui/id6447380792
@sids @StewartLynch @sandropennisi Thanks for the links, I'll check some of these out today!
@aoberoi lots of trial and error I'm afraid. Javier's blog is still the best resource and one I keep coming back to. There does seem to be some missing features (easy path following, chaining for example) that are missing
@stuart I think chaining, if I understand what you mean, is addressed in the 2023 updates with phaseAnimator() APIs. That's covered in the first half of this session: https://developer.apple.com/wwdc23/10157. I haven't seen anything regarding path following yet, but maybe that's something that could be accomplished with the .keyframeAnimator() APIs.
@aoberoi yes, that combined with the keyframe animation modifiers look to be really powerful in controlling animations. Thanks, I’d not got around to the animation videos this year, but there is some great information in there