Une application de chat iOS écrite à la suite d'une architecture de vipère et de BDD
Avec ce projet, je voudrais rassembler toutes les meilleures pratiques que je puisse trouver lorsque je travaille avec une architecture de vipère et une approche BDD. Viper est l'implémentation de l'architecture propre de l'oncle Bob, et il pousse le SRP (principe de responsabilité unique) à la limite . Bien qu'il fonctionne parfaitement sur des applications linéaires et simples, il y a toujours des cas dans lesquels Viper ne correspond pas parfaitement sans réfléchir un peu plus loin: les communications de module inter ou les conteneurs de vue de travail comme UipageViewControllers, UitabbarControllers ou les menus de burger. L'injection de dépendance est un autre défi, en particulier pour les cas dans lesquels un service est réutilisé dans différents modules de l'application.
Ici, vous pouvez trouver une présentation d'une conférence que j'ai donnée sur Viper et BDD: https://robertogarrido.com/wp-content/uploads/2017/06/clean-architectures-and-bdd-on-ios-github.pdf
Ici, vous pouvez trouver une liste de lectures intéressantes sur Viper et BDD:
Modèles d'architecture iOS: https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52
Architecture Applications iOS avec Viper: https://www.objc.io/issues/13-architecture/viper/
Architecting Applications mobiles avec (b) Modules Viper - Une approche d'ingénierie structurée pour les grandes applications mobiles: http://digital.travelport.com/blog/architeting-mobile-apps-with-bviper-modules
Architecture Viper: Nos meilleures pratiques pour créer une application comme un boss: https://cheesecakelabs.com/blog/best-practices-viper-architecture/
Architecture du projet iOS: Utilisation de Viper: https://cheesecakelabs.com/blog/ios-project-architecture-using-viper/
Engineering L'architecture derrière la nouvelle application Rider d'Uber: https://eng.uber.com/new-mider-app/
Je suis Roberto Garrido, un développeur IOS indépendant disponible à la location sur mon site Web: https://robertogarrido.com