A sample iOS app demonstrating VIPER architecture implementation with Alamofire, CoreData, and other libraries.
iOS-Viper-Architecture is a sample iOS application that demonstrates how to implement the VIPER architecture pattern using Swift and popular libraries. It provides a working example of structuring an iOS app with clear separation between View, Interactor, Presenter, Entity, and Router components to improve code organization and testability.
iOS developers seeking to learn or implement VIPER architecture in their projects, particularly those looking for a practical reference with real-world libraries like Alamofire and CoreData.
Developers choose this project because it offers a complete, runnable example of VIPER with modern iOS tools, making it easier to understand and apply the pattern compared to theoretical explanations or minimal snippets.
This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.
Includes a clear diagram and modular structure showing View, Interactor, Presenter, Entity, and Router components, making it easy to understand VIPER flow, as evidenced by the blueprint and project structure images in the README.
Demonstrates practical use of Alamofire for networking, CoreData for persistence, and PKHUD for UI feedback, providing valuable reference points for common iOS development tasks.
Offers a runnable sample app with simple setup instructions (clone, pod install, run), allowing developers to see VIPER in action immediately, as highlighted in the README's installation steps.
Project is organized into separate layers, promoting separation of concerns and easier code maintenance, as shown in the project structure image and emphasized in the philosophy.
README is brief with only basic setup and a blog link, lacking detailed explanations, tutorials, or troubleshooting guidance for complex scenarios, which limits deeper learning.
Relies on Alamofire, PKHUD, and CoreData, which can introduce bloat and compatibility issues, and may not align with projects using alternative or native solutions, adding vendor lock-in risks.
Does not include unit or UI test code, missing an opportunity to showcase VIPER's testability advantages—a key selling point of the architecture—despite emphasizing testability in the description.
Last updated in 2022, so it might not reflect the latest iOS SDK features, Swift versions, or best practices, risking obsolescence and compatibility issues with newer tools.
A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
SwiftUI sample app using Clean Architecture. Examples of working with SwiftData persistence, networking, dependency injection, unit testing, and more.
Example of Modern Domain Driven modularisation of iOS apps
A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.