Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

[SwiftPH + PADC Meetup - May 2019] iOS & Android Architectures

20 visualizaciones

Publicado el

[SwiftPH + PADC Meetup - May 2019] iOS & Android Architectures by Miguel Fermin and John Eris Villanueva

About the speakers:
Miguel Fermin (https://github.com/xdgimf) is a software engineer who is leading the mobile development team of White Cloak Technologies. He has led the development of several projects such as ebook reader, POS, news, logistics and banking apps. He is very passionate about coding and is in constant pursuit of discovering the state-of-the-art in Software Engineering.

John Eris Villanueva is an iOS Developer at White Cloak Technologies, Inc. He started as an Android Developer then added iOS development in his stack. He has launched apps including Bridal Gallery, MyPocketDoctor, POS, and Banking apps. Outside work, he enjoys outdoor activities like hiking.

About SwiftPH:
SwiftPH and iOSCodersPH are the Apple Developer Communities in the Philippines. SwiftPH is responsible for our meetups and the iOSCodersPH is our slack group. Our community aims to bring all the iOS (and Apple) developer in the Philippines together to learn from one another and help our Apple developer ecosystem grow.

If you are interested, join us at https://meetup.com/swiftph. You can also reach out to us at swiftphofficial@gmail.com.


About Philippine Android Developer Community (PADC):
Philippine Android Developer Community is the Android developer community in the Philippines. (https://www.meetup.com/Philippine-Android-Developers-Community)

About the event:
Date: May 18, 2019
Venue: BeautyMNL, Philippines

More info here:
https://www.meetup.com/SwiftPH/events/261166657/

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

[SwiftPH + PADC Meetup - May 2019] iOS & Android Architectures

  1. 1. iOS and Android Architectures
  2. 2. Miguel Fermin ● Android - Java, Kotlin ● iOS - Objective C, Swift ● Backend - NodeJS, Spring White Cloak Technologies
  3. 3. John Eris Villanueva ● iOS - Swift ● Android - Java, Kotlin ● Backend - Laravel, Spring White Cloak Technologies
  4. 4. Background
  5. 5. MV(X)
  6. 6. MV(X)
  7. 7. MV(X)
  8. 8. MV(X)
  9. 9. Traditional MVC Controller ModelView Updates Sends user actions Replaces Notifies Gets changed state
  10. 10. iOS - MVC Expectation Controller ModelView Updates Sends user actions Updates Notifies
  11. 11. iOS - Apple’s MVC Reality Controller ModelView Notifies Owns and updates
  12. 12. iOS - Apple’s MVC Reality UIViewController ModelUIView Notifies Owns and updates
  13. 13. Android - MVC / Traditional Way Activity ModelXML / VIEW Update NotifyAction Update
  14. 14. iOS - MVP Presenter ModelView Owns and updates Notifies Owns and sends user actions Updates
  15. 15. iOS - MVP Presenter Model UIView UIViewController Owns and updates Notifies Owns and sends user actions Updates UIKit independent
  16. 16. Android - MVP Presenter ModelActivity Update NotifyAction Update
  17. 17. Android - MVP Presenter ModelActivity Update NotifyAction <View> Update Implement
  18. 18. Android - MVP Presenter ModelActivity Update NotifyAction <View> Update Implement <Presenter> Implement
  19. 19. Android - MVP Presenter ModelActivity Update NotifyAction <View> Update Implement <Presenter> Implement Contract
  20. 20. iOS - MVVM ViewModel ModelView Owns and updates Notifies Owns Data and user action binding
  21. 21. iOS - MVVM - RxSwift ViewModel Model UIView UIViewController Owns and updates Notifies Owns Data and user action binding (RxSwift) UIKit independent Observable Subscribe
  22. 22. Android - MVVM View Model ModelActivity Update NotifySubscribe
  23. 23. Android - MVVM - RxJava View Model ModelActivity Update NotifySubscribe Observable
  24. 24. Android - MVVM - LiveData View Model ModelActivity Update NotifyObserve LiveData
  25. 25. Clean Architecture
  26. 26. iOS - VIPER Presenter InteractorView Owns and asks for updates Notifies Owns and sends user actions Updates Entity Knows about Router
  27. 27. iOS - VIPER Presenter Interactor UIView UIViewController Owns and asks for updates Notifies Owns and sends user actions Updates Entity Knows about Router CoreData/ Realm Alamofire/ Moya Keychain
  28. 28. Android - Clean Architecture View Model Use CaseActivity Update Notify Repository Room Shared Preference Retrofit Clients
  29. 29. Android - Clean Architecture View Model Use CaseActivity Update Notify <Repository> Repository Room Shared Preference Retrofit Clients
  30. 30. Presenter InteractorActivity <Repository> Repository Room Shared Preference Retrofit Clients Router <View> Navigate
  31. 31. Others
  32. 32. µFeatures Example Tests Testing Source Application µSearch µHome µProfile µDependencies µCore µUI µTesting µFeature
  33. 33. Redux / Flux
  34. 34. MVI
  35. 35. RIB by uber
  36. 36. RIB by uber
  37. 37. What architecture do you use?
  38. 38. Thank you

×