{"repo":"QuickBirdEng/XUI","free":true,"listed":false,"github":"https://github.com/QuickBirdEng/XUI","clone":"git clone https://github.com/QuickBirdEng/XUI.git","description":"XUI makes modular, testable architectures for SwiftUI apps a breeze!","language":"Swift","stars":118,"topics":["swift","swiftui","swift-ui","architecture","app-architecture","mvvm","mvvm-c","ios","state-management","state"],"license":"MIT","category":"mobile-apps","readme_excerpt":"X UI is a toolbox for creating modular, reusable, testable app architectures with SwiftUI . With extensions to tackle common issues, X UI makes working with SwiftUI and Combine a lot easier! Easily keep your apps clean, maintainable and with a consistent app state Abstract view models with protocols Make more use of common SwiftUI and Combine components Find any object in deep hierarchies In our blog articles \"SwiftUI Architectures: Model-View, Redux & MVVM\", \"How to Use the Coordinator Pattern in SwiftUI\" and \"Handling Navigation in large SwiftUI projects\", we have already had a look at how to organize views and view models in SwiftUI. With all this knowledge, we have combined and summarized the most important and useful components in this library. 🔥 Features - Abstraction of view models with protocols through the use of the @Store property wrapper - Deep Linking made easy → simply find any coordinator or view model in your app with a single call! - Useful extensions to make the use of SwiftUI and Combine simpler! 🏃‍♂️Getting Started Store One of the integral parts of X UI is the Store property wrapper. It makes it possible to define SwiftUI view models with protocols. Let me guide you through the process: First, we create a protocol for our view model and make that conform to ViewModel . Secondly, we create an implementation for that protocol. Our implementation needs to be a class conforming to ObservableObject and our protocol. Last but not least, we use the Store prope","default_branch":null,"files":null,"tree":[],"storefront":"/r/QuickBirdEng","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/QuickBirdEng/XUI/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}