"Software Architecture is less about responsibilities and more about component communication". This. So much. Which is why, to my personal taste, protocol driven design is one of my favorite ways to work. Code feels so much more intuitive when you describe the way they contractually communicate, rather than trying to cramp the responsibility into a single term (usually :v).
@RafaelWinter Жыл бұрын
Great thoughts about it! "Software architecture has a strong correlation with product success"
@giuseppemorana71685 жыл бұрын
Really good take on VIPER, I like the way you showed how the way it is implemented in the example project completely violates the Clean Architectures principles :D
@dilshodzopirov65689 ай бұрын
Thank you 👍👍👍
@tityseptiani85846 жыл бұрын
Very interesting. It’d be better if you could show us something a little practical along with the the explanation. I’m a rather slow learner when it comes to theory 😞
@EssentialDeveloper6 жыл бұрын
Hi Tity. We have a complete series where we create an app from scratch and discuss the architecture evolution as we go: www.essentialdeveloper.com/professional-ios-engineering-season-1.
@HINDISE_ENGLISHTAK3 жыл бұрын
Hey Caio & Mike: Great tutorial. few doubts: Who is the creator of VIPER ? is it MutualMobile. (ViPER's: E)Entity: can we use it for models (Parsing the web service data and having it in Codable structs) application do not have persistence requirement.
@EssentialDeveloper3 жыл бұрын
Hi Roopesh! We don't recommend the VIPER template. Regarding Entities as a general concept (regardless of VIPER), it should ideally not know about web services, databases, or other infrastructure details.
@nonameplum6 жыл бұрын
Great investigation and totally agree. Most of the VIPER examples break the rules between the modules focusing only on the particual use case. Could you prepare another presentation how we could extend that into whole app arecture paradigm that with needed adjustems for specific project could be used in iOS development cycle.
@EssentialDeveloper6 жыл бұрын
Hi Łukasz, thanks for the support. We have a complete series where we create an app from scratch and discuss the architecture evolution as we go: www.essentialdeveloper.com/professional-ios-engineering-season-1. We don't believe in a template that can solve all the problems. In our experience, the software architecture is always changing so creating a flexible architecture is crucial to maintaining a fast development pace. ✅⛩
@nonameplum6 жыл бұрын
Sure, I had in mind design patterns like Coordinator/Flow Coordinator. Actually, I'm curious what would be your analysis of this pattern according to architecture scalability and maintainability 🕵️♂️
@muhammadimranb70254 жыл бұрын
Really good!
@haraprasadsenapati66625 жыл бұрын
I think VIPER is an Architectural pattern not design pattern
@EssentialDeveloper5 жыл бұрын
We might agree, then! We like the famous quote "All architecture is design, but not all design is architecture" by Grady Booch. We don't consider VIPER an _architecture_, but a template/pattern. The real architecture is expressed in the codebase. Which kinds of decisions were made throughout development? What parts are easy to change (and why)? What parts are hard to change (and why)? ... Thanks for sharing your thoughts! ✅⛩