Better ways to structure apps
- General
- Clean Architecture
- Unidirectional Data Flow
- MVC
- VIPER
- MVVM
- Data Source
- Sync
- Cache
- Asynchronous Programming
- Persistence
- Clean Cocoa ⭐
- Flow Controllers on iOS for a Better Navigation Control
- iOS Development: You're Doing It Wrong
- How to separate view controllers from their view logic
- 8 Patterns to Help You Destroy Massive View Controller
- API Design
- Intentions
- Model-View-ViewModel for iOS
- Singletons, AppDelegates and top-level data.
- Collection Extensions
- Model View Controller Presenter
- Model View Whatever
- How We Modularized Medium’s iOS codebase
- Lighter View Controller Swift
- Improve your iOS Architecture with FlowControllers
- Massive View Controller
- Modern application architectures (Reactive programming, MVVM and beyond)
- “Tree of Models” as an Alternative App Architecture Model ⭐
- A composable pattern for pure state machines with effects
- MVVM Is Quite Okay at What It Is Supposed to Do
- Architectures comparison
- Logician Logic programming in Swift
- modular-architecture Examples of iOS Modular Architecture in Swift
- Delta Delta takes an app that has custom state management spread throughout all the VCs and simplifies it by providing a simple interface to change state and subscribe to its changes.
- eigen The Art World in Your Pocket or Your Trendy Tech Company's Tote, Artsy's iOS app
- CleanStore A sample iOS app built using the Clean Swift architecture
- CleanArchitectureRxSwift Example of Clean Architecture of iOS app using RxSwift 🚀
- Unidirectional Data Flow in Swift: An Alternative to Massive View Controllers
- Ziggurat iOS App Architecture
- ziggurat App architecture with one-way data data flow and view models
- Rethinking iOS App Architecture Using a One Way Data Flow
- Elmification of Swift
- StateView Views that automatically update themselves.
- Render Swift and UIKit a la React.
- Real World Flux Architecture on iOS ⭐
- Turning UIKit Inside Out ⭐
- App Coordinators and Redux on iOS
- ReSwift Unidirectional Data Flow in Swift - Inspired by Redux ⭐⭐⭐
- Reactor Unidirectional data flow in Swift
- Aftermath Stateless message-driven micro-framework in Swift. ⭐⭐
- Renderer Swift and UIKit a la React.
- Few.swift Views as functions of their state.
- SwiftFlux A type-safe Flux implementation for Swift
- katana-swift Swift Apps in a Swoosh
- Dispatch Multi-store Flux implementation in Swift.
- Introduction to VIPER
- Architecting iOS Apps with VIPER
- Brigade’s Experience Using an MVC Alternative
- First Observations on TDD with VIPER
- Building Modular iOS Apps
- iPhreaks Show – VIPER with Conrad Stoll and Jeff Gilbert
- Clean Architecture - VIPER by Redbooth
- 250 Days Shipping With Swift and VIPER
- IOS ARCHITECTURE: REAL LIFE VIPER
- Humble Object Pattern in Swift
- iOS Architecture Patterns Demystifying MVC, MVP, MVVM and VIPER
- Should I use Viper architecture for my next iOS application, or it is still very new to use?
- VIPER to be or not to be?
- iOS Project Architecture: Using VIPER
- iOSModulesArchitecture Quick example of how divide an app into modules to respect the SOLID principles
- ARCHITECTING MOBILE APPS WITH (B)VIPER MODULES - A STRUCTURED ENGINEERING APPROACH FOR BIG MOBILE APPS
- Clean Architecture - VIPER at Redbooth by @sergigracia
- VIPER to be or not to be
- Building iOS App With VIPER Architecture
- Viper Framework for iOS using Swift v3
- iOS-Viper-Architecture A detailed sample app that implements VIPER architecture
- iOSSwiftStarter A sample iOS app written in Swift using the VIPER architecture.
- Introduction to MVVM
- MVVM is Not Very Good
- Simplification Of IOS View Controllers: MVVM Or Presentation Controls?
- On MVVM, and Architecture Questions
- Reddit-MVVM-Benchmark MVVM with FRP Benchmark project
- TheReactiveArchitecture The modern and reactive architecture for RxSwift application
- Lightweight iOS View Controllers
- Apple’s Take on App Architecture
- Fluent Pagination - no more jumpy scrolling
- AdvancedCollectionView
- iOS: UITableView controller
- Nestable
- Advanced UITableViews Made Simple: YLTableView
- Typed, yet Flexible Table View Controller
- Complex table view state changes made easy
- UMT2016 - John Sundell - Building component-driven UIs at Spotify
- Refactoring at Scale – Lessons Learned Rewriting Instagram’s Feed
- Mensa Smart, modern table and collection views on iOS.
- RLDTableViewSuite Reusable table view controller, data source and delegate for all your UITableView needs
- PagedArray A Swift data structure for easier pagination
- ReadingList An example on using the Mantle Modeling Framework with Overcoat AFNetworking extension.
- DTTableViewManager Protocol-oriented UITableView management, powered by generics and associated types.
- StatefulViewController Placeholder views based on content, loading, error or empty states
- Spots Spots is a view controller framework that makes your setup and future development blazingly fast ⭐⭐
- JSQDataSourcesKit Type-safe, value-oriented, composable data source objects that keep your view controllers light
- AutoTablel Demonstration of wrapping a UIKit API into a declarative API Layer
- HubFramework Spotify’s component-driven UI framework for iOS ⭐⭐⭐
- ComponentKit A React-inspired view framework for iOS
- IGListKit A data-driven UICollectionView framework for building fast and flexible lists. ⭐⭐⭐
- JASONETTE-iOS Native App over HTTP ⭐⭐🚀
- StatefulViewController Placeholder views based on content, loading, error or empty states
- wire-ios-sync-engine iOS synchronization library for Wire
- Cache Nothing but Cache
- RocketData
- RxSwift Reactive Programming in Swift
- Operations A Swift framework inspired by WWDC 2015 Advanced NSOperations session.
- MVC-RS
- The Missing Light Persistence Layer for Swift
- How to Abstract Your Persistence Layer and Migrate to Another One on iOS With JustPersist
This project is released under the MIT license. See LICENSE.md.