This is the first time after working several years in iOS that someone explains in a very clear way the different issues that you can face if you want to escalate/evolve an app. This talk in pure gold. Thank you for sharing this Bruno.
Excellent content, Bruno. About the end, I'm gonna quote someone whose name I forgot: "The good software architect is a master at deferring big decisions and leaving options open". So while we shouldn't be doing rocket science within a newborn app, we should definitely be careful with how we're designing our small app now as to not make everyone's lives extra hard when we finally need some restructuring. ;)
I agree with most of the concepts you’ve talked about, and I’m definitely grateful to you for bringing value to the community. However, correct me if I’m wrong but it seems like you guys are using an anti-pattern called Service Locator, which basically is global shared state to implicitly inject dependencies. This talk has 2 years, so maybe this was already addressed, but I would feel very uncomfortable in using a Service Locator in all of my services. Service Locator has many problems, one of the biggest in my opinion is the lack of errors at compilation time. I much prefer using dependency injection through the initializer. I would say that a true level 4 app done correctly doesn’t need this sort of global shared state to achieve its needs. I was also not convinced by your approach to navigation. But I would have to look at concrete cases to be able to see how you approach for example injecting data that is only available at run time. Being able to control navigation from BE is cool though.
I'm at level 1 app in my career and most of this information did not make sense to me yet. Although it is important to understand how big companies like Spotify works behind the scenes. Thank you for sharing your knowledge Bruno.
This is the first time after working several years in iOS that someone explains in a very clear way the different issues that you can face if you want to escalate/evolve an app. This talk in pure gold. Thank you for sharing this Bruno.
Excellent content, Bruno. About the end, I'm gonna quote someone whose name I forgot: "The good software architect is a master at deferring big decisions and leaving options open". So while we shouldn't be doing rocket science within a newborn app, we should definitely be careful with how we're designing our small app now as to not make everyone's lives extra hard when we finally need some restructuring. ;)
I agree with most of the concepts you’ve talked about, and I’m definitely grateful to you for bringing value to the community.
However, correct me if I’m wrong but it seems like you guys are using an anti-pattern called Service Locator, which basically is global shared state to implicitly inject dependencies.
This talk has 2 years, so maybe this was already addressed, but I would feel very uncomfortable in using a Service Locator in all of my services.
Service Locator has many problems, one of the biggest in my opinion is the lack of errors at compilation time. I much prefer using dependency injection through the initializer.
I would say that a true level 4 app done correctly doesn’t need this sort of global shared state to achieve its needs.
I was also not convinced by your approach to navigation. But I would have to look at concrete cases to be able to see how you approach for example injecting data that is only available at run time. Being able to control navigation from BE is cool though.
Thanks for sharing your view, it's interesting 🧐
This is very well explained. Thanks for taking the time to make it. Excellent work.
Great talk! I sent this video to our team right away, accompanied with a few screenshots :) Thank you Bruno and Swift Heroes Italy!
Any sample repository?
Thanks for the video, learned a lot 👍
Top content! Thanks!
I'm at level 1 app in my career and most of this information did not make sense to me yet. Although it is important to understand how big companies like Spotify works behind the scenes. Thank you for sharing your knowledge Bruno.
Thanks a lot Bruno
Are you aware of any open source libraries that are similar to the SPTServiceSystem