Blurring the Lines Between MVVM and VIPER

Photo by Markus Spiske on Unsplash

What is MVVM?

What is VIPER?

What’s our main goal?

An Imaginary App: Top Movies

An Imaginary Case: Implementing macOS Version

An Imaginary Case: iOS Redesign

protocol MovieListView: MovieListPresenterDelegate {
  ...
  func didTapOnMovie(at index: Int)
  func showDetailView(for movie: Movie)
}
protocol MovieListRouter {
  func showDetailView(for movie: Movie)
}

Moral of the Story

MVC 📗 → MVVM 📘 → VIPER 📙


Developer Mind

Thoughts, experiences and knowledge sharing from software developers

Göksel Köksal

Written by

iOS developer. Serious gamer.

Developer Mind

Thoughts, experiences and knowledge sharing from software developers