SlideShare a Scribd company logo
Common
iOS Architectures
From MVC to VIPER, with Redux
Who am I
• App developer since iOS 4
• Years of working experience in startups
• ! @nelsont
• ! chiahsien.github.io
Agenda
• From MVC to VIPER
• Redux
• Summary
Agenda
• From MVC to VIPER
• Redux
• Summary
NO CODING
TODAY
Why this topic?
From MVC to VIPER
• Series of refactoring
• Pick one that suit your team
MVC
Common iOS Architecture: From MVC to VIPER, with Redux
Model View Controller
Data structure UI Life cycle
Data manipulation
Setup view &
animation
UI Navigation
API call & biz logic
Data conversion
Data source &
Delegate
etc.
Massive
View Controller
Deal with Massive VC
• VC focus on UI related tasks
• Move non-UI related tasks to another
object
• VC communicate with this object
This object
• API call
• Biz logic
• Data conversion
• Data source
Presenter / View Model
• API call
• Biz logic
• Data conversion
• Data source
Common iOS Architecture: From MVC to VIPER, with Redux
Common iOS Architecture: From MVC to VIPER, with Redux
Common iOS Architecture: From MVC to VIPER, with Redux
MVP ≈ MVVM
Model View VM / Presenter
Data structure UI API call
Data manipulation Life cycle Biz logic
Setup view &
animation
Data conversion
UI Navigation Data source
Delegate
etc.
UI Navigation
• Push / Pop
• Present / Dismiss
• Master / Detail
Problem
• Hard to reuse
• Lack of flexibility
• Hard to co-work
• Doesn’t make sense
Solution
• Each VC should be independent
• An object having bird’s view manages
VCs’ flow
Common iOS Architecture: From MVC to VIPER, with Redux
Coordinator
• Create and setup VCs
• Manage VCs’ flow
• Manage child coordinators
Model View
VM /
Presenter
Coordinator
Data structure UI API call UI Navigation
Data
manipulation
Life cycle Biz logic
Setup view &
animation
Data conversion
Delegate Data source
etc.
Common codes
• API call
• Biz logic
• Data manipulation
Manager / Service / Helper
• API call
• Biz logic
• Data manipulation
Model View Presenter Coordinator
Manager /
Service
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
Entity View Presenter Coordinator
Manager /
Service
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
Entity View Presenter Router
Manager /
Service
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
Entity View Presenter Router Interactor
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
VIPER
Common iOS Architecture: From MVC to VIPER, with Redux
MVC ➔ VIPER
Series of refactoring
State Management
State management
• MV(C/VM/P) / VIPER are UI related
patterns
• We need to find a way to manage state
Redux
•A state management framework
•Single source of truth
•Single place to modify state
•Unidirectional data flow
Common iOS Architecture: From MVC to VIPER, with Redux
Common iOS Architecture: From MVC to VIPER, with Redux
Common iOS Architecture: From MVC to VIPER, with Redux
Common iOS Architecture: From MVC to VIPER, with Redux
Common iOS Architecture: From MVC to VIPER, with Redux
Common iOS Architecture: From MVC to VIPER, with Redux
Redux integration
• Presenter / Interactor send Actions to
Store
• Presenter / Interactor receive State
update notification
Redux
Summary
• A series of refactoring
• Find a pattern that suit your team
• Both VM & Presenter are great
• Recommend Coordinator for beginner
• Manage state with care
Q & A
! @nelsont ! chiahsien.github.io

More Related Content

PPTX
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
PDF
fastlane을 이용하여 iOS/Mac 앱 관리하기
PDF
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
PDF
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁
PDF
PINTOS Operating system homework 2
PDF
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
PPTX
Introduction to Modern and Emerging Web Technologies
PDF
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
fastlane을 이용하여 iOS/Mac 앱 관리하기
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁
PINTOS Operating system homework 2
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
Introduction to Modern and Emerging Web Technologies
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규

What's hot (15)

PDF
Unreal Engine Basics 03 - Gameplay
PDF
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
PPTX
İKT sahəsində əsas i̇stiqamətlər və i̇ş i̇mkanları
PDF
Architecting iOS Project
PDF
Software Defects.pdf
PPTX
Ferramentas Case - fase de análise e projeto
PPTX
Presentation on software construction
PPT
06 uml-component
PPTX
Unit Testing And Mocking
PDF
Modelos de Processo de Software Parte 1
PPT
Formal Specifications in Formal Methods
PPTX
Code quality
PDF
객체지향 개념 (쫌 아는체 하기)
PPTX
Software requirement specification
Unreal Engine Basics 03 - Gameplay
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
İKT sahəsində əsas i̇stiqamətlər və i̇ş i̇mkanları
Architecting iOS Project
Software Defects.pdf
Ferramentas Case - fase de análise e projeto
Presentation on software construction
06 uml-component
Unit Testing And Mocking
Modelos de Processo de Software Parte 1
Formal Specifications in Formal Methods
Code quality
객체지향 개념 (쫌 아는체 하기)
Software requirement specification
Ad

Similar to Common iOS Architecture: From MVC to VIPER, with Redux (20)

PDF
Infinum iOS Talks #2 - VIPER for everybody by Damjan Vujaklija
PDF
Clean VIP (Clean Swift) architecture
PPTX
VIPER ( ? OR : AND) MVVM
PPTX
VIPER Architecture
PDF
Choosing the architecture
PDF
Ui design patterns
PDF
Mobile architectures
ODP
VIPER
PPTX
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
PPTX
Difference between Software Architectural pattern
PDF
iOS architecture patterns
PDF
App structure Fundamentals
PDF
MVVM+Router with Swift
PDF
PPTX
iOS Architectures
PDF
How I Accidentally Discovered MVVM
PDF
Android Architectures
PDF
From mvc to viper
PPTX
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Infinum iOS Talks #2 - VIPER for everybody by Damjan Vujaklija
Clean VIP (Clean Swift) architecture
VIPER ( ? OR : AND) MVVM
VIPER Architecture
Choosing the architecture
Ui design patterns
Mobile architectures
VIPER
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
Difference between Software Architectural pattern
iOS architecture patterns
App structure Fundamentals
MVVM+Router with Swift
iOS Architectures
How I Accidentally Discovered MVVM
Android Architectures
From mvc to viper
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Ad

Recently uploaded (20)

PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
top salesforce developer skills in 2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
AI in Product Development-omnex systems
PPTX
history of c programming in notes for students .pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
ai tools demonstartion for schools and inter college
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
top salesforce developer skills in 2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Operating system designcfffgfgggggggvggggggggg
Which alternative to Crystal Reports is best for small or large businesses.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
AI in Product Development-omnex systems
history of c programming in notes for students .pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Wondershare Filmora 15 Crack With Activation Key [2025
CHAPTER 2 - PM Management and IT Context
ai tools demonstartion for schools and inter college

Common iOS Architecture: From MVC to VIPER, with Redux