@@problem.solver it got its name mostly thanks to this blog article: khanlou.com/2015/01/the-coordinator/ But indeed you’re right that the idea here is very similar to a router!
Thanks for the thorough explanation, purhaps a futur video making use of childCoordinator array ? It would be intersting to see how coordinators interact with each other.
Thank you for explanation! Honestly, I don't see any reason to add navigationController to the Coordinator protocol. So, on my opinion, it can be under the hood in the MainCoordinator class. Consumer of the Coordinator protocol don't need to know how the navigation happens and don't need any access to the navigationController
The Coordinator pattern is an okay solution but still tightly couples the viewcontroller with the presentation. For instance, show detail is coupled with always presenting it with push navigation. What if I want to present it modally, with certain animations that could be different for each screen. I think Composition is a better way to approach the navigation problem. Each case can decide how to present the next screen and still not coupled.
Hi Vincent. I'm a big fan of CleanSwift architecture. Can the Coordinator pattern be applied along with CleanSwift? Or does the Router of CleanSwift play role of the Coordinator?
Thanks for video awesome 🙏 can we also inject coordinator to movies vc on init method and set it as nil in deinit? what do you think about this approach😕 Also, what if we had a one more page/vc should we have defined a different coordinator for it?
Could be a good idea to assign the coordinator variable in the view model instead of the view controller? Maybe you can avoid retain cycles if you miss 'weak'
Did you find this explanation useful? Are you planning on using the Coordinator pattern in your apps? Let me know in the comments 🚀
Any reason for calling it coordinator not a router?
@@problem.solver it got its name mostly thanks to this blog article: khanlou.com/2015/01/the-coordinator/
But indeed you’re right that the idea here is very similar to a router!
Amazing. Thanks.
Thanks for the thorough explanation, purhaps a futur video making use of childCoordinator array ? It would be intersting to see how coordinators interact with each other.
Once again you covered great topic in a great way.
Keep up the good work! 💪
Wow this video came at a great time! I just learned about the Coordinator pattern yesterday from a video Paul Hudson had made :)
Thank you for explanation! Honestly, I don't see any reason to add navigationController to the Coordinator protocol. So, on my opinion, it can be under the hood in the MainCoordinator class. Consumer of the Coordinator protocol don't need to know how the navigation happens and don't need any access to the navigationController
What an excellent explanation, super easy to understand and really helpful! Thank you!
Thank you, glad to hear you enjoyed the video ☺️
Hey Vincent, I saw you at SwiftLeeds and I've started watching your videos. I like them because they are small and bite sized. Keep up the good work!
Awesome to hear that the QR code to the YT channel at the end of my slides was useful 😀
The Coordinator pattern is an okay solution but still tightly couples the viewcontroller with the presentation.
For instance, show detail is coupled with always presenting it with push navigation. What if I want to present it modally, with certain animations that could be
different for each screen.
I think Composition is a better way to approach the navigation problem. Each case can decide how to present the next screen and still not coupled.
Thanks for this video. I learnt a new thing today. I have one query that what if our project gets bigger? Isn’t coordinator too going to be too big?
Thank you very much , please add coordinator child and routers too , cuz I found it challenging and has memory leaks some times
Hi Vincent. I'm a big fan of CleanSwift architecture. Can the Coordinator pattern be applied along with CleanSwift? Or does the Router of CleanSwift play role of the Coordinator?
check out the responder chain, it's a built in coordinator!
Vincent, how can this be (easily) be done in SwiftUI - would love this as a video!
Great suggestion! The topic is a bit long for a video, however I could do livestream on it in the future 👀
Thanks for video awesome 🙏
can we also inject coordinator to movies vc on init method and set it as nil in deinit?
what do you think about this approach😕
Also, what if we had a one more page/vc should we have defined a different coordinator for it?
Everything. can be done if you want but in this case you cant cause you are coupling the viewModel to a Navigation Module so theres no relation
Hi Vincent. Can you share the code so I can play with it?
You have the link in the description: gist.github.com/vincent-pradeilles/6ab3720827698712c138059542b0f2ba
Could be a good idea to assign the coordinator variable in the view model instead of the view controller?
Maybe you can avoid retain cycles if you miss 'weak'
No cause you are coupling the viewModel to a Navigation Module so theres no relation
The promo code does not work ? I must be doing something not right
So sorry for this. I’ve let the people at Realm know about the issue, hopefully it should be fixed soon 🙌
Can you send me a DM on Twitter? (twitter.com/v_pradeilles)
Will you creative a SwiftUI version?
I'm taking good note of your suggestion! On SwiftUI the pattern requires a bit more work, so maybe a livestream would be a better format!