Home

Awesome

awesome iOS architecture Awesome

Better ways to structure apps

let buzzWords = [
  "Model", "View", "Controller", "Entity", "Router", "Clean", "Reactive", 
  "Presenter", "Interactor", "Megatron", "Coordinator", "Flow", "Manager"
]
let architecture = buzzWords.shuffled().takeRandom()
let acronym = architecture.makeAcronym()

Content

MVC

Model View Controller

Posts

Repos

MVP

Model View Presenter

Posts

Repos

MVVM

Model View ViewModel

Posts

Repos

Composable Architecture

Repos

Clean Architecture

Posts

Repos

Unidirectional Data Flow

Posts

Repos

VIPER

View Interactor Presenter Entity Router

Posts

Repos

VIP

View Interactor Presenter

Posts

SwiftUI

Posts

Repos

Data Source

Posts

Repos

Best Practices

General

API Design

Dependency Injection

Refactoring

Model

View and Model

AppDelegate

Repos

Sync

Cache

Asynchronous/Reactive Programming

Navigation/Coordinator/FlowController

Analytics

SDK

Functional

Types

Protocols

Code

Separation of Concerns

Testing

Generic

Cross platform

Remote Config / Feature Flagging

Licence

This project is released under the MIT license. See LICENSE.md.