Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOS Software Architectures

iOS Software Architectures

Evolution of GUI architectures on iOS platform starting from original MVC, Apple's MVC, MVVM and VIPER.

(NSAnkara 2017)

Göksel Köksal

December 28, 2017

More Decks by Göksel Köksal

Other Decks in Programming


  1. ! iOS Software Architectures

  2. Facebook's Flux

  3. Facebook's Flux

  4. Facebook's Flux

  5. Facebook's Flux Flux is just another MV* in disguise, but

    it sure is a well thought-out and well implemented one.
  6. What's MVC really? The original MVC report is written in

    1979 by Trygve Reenskaug.1 1 heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
  7. What's MVC really? Jim Althoff and others implemented a version

    of MVC for the Smalltalk-80 class library after I had left Xerox PARC; I was in not involved in this work. Jim Althoff uses the term Controller somewhat differently from me. — Trygve Reenskaug
  8. ! Demo

  9. MVC

  10. Apple's MVC

  11. Apple's MVC (Actual)

  12. MVVM

  13. VIPER

  14. MVC ! → Apple's MVC " → MVVM → VIPER

  15. Bottom Line → MVC is controversial. → Every architecture is

    a rule-set. Some has more rules than the others. → You can mix and match architectures if necessary. → Every choice is a trade-off and there are no silver bullets.
  16. See github.com/gokselkoksal/RedCarpet for sample implementation.

  17. Göksel Köksal github.com/gokselkoksal medium.com/@gokselkoksal theswiftpost.co twitter.com/gokselkk