In this episode – Donn and Kaushik dive into a topic that is very near and dear their hearts – application architecture. They talk about how Martin Fowler has inspired a lot of their architectural decisions and how they’re moving towards defining what a clean architecture means to them and other developers. They talk about Model View Presenter, Model View Controller and many other topics that surround these two common patterns. Take a listen and go for the ride on architecture train … all aboard!
Show Notes
Chit-chat:
- Exponential backoff with RxJava [github.com]
- RxJs – ReactiveExtensions for Javascript [github.com]
Follow up:
- Moving GC only applicable when app goes into background:
- A closer look at ART in Android L (see last paragraph) [anandtech.com]
- Google I/O 2014: The ART Runtime [youtube.com]
The road to a clean architecture:
- Bad practices:
- Cargo cult programming [wikipedia.org]
- God objects [wikipedia.org]
- Martin Fowler’s articles on Patterns of Enterprise Application Architecture:
- Supervising Controller [martinfowler.com]
- Presentation Model [martinfowler.com]
- Passive View [martinfowler.com]
- Martin Fowler’s Book P of EAA [amazon.com]
- Decoupling the presenter [mattlogan.me]
Other approaches to clean architectures:
- MVVM on Android – what you need to know [willowtreeapps.com]
- Model View ViewModel for iOS [teehanlax.com]
- VIPER architecture on iOS [objc.io]
- VIPER inspired Clean Android architecture [speakerdeck]
- Architecting Android the clean way [fernandocejas.com]
- MVP Android [antonioleiva.com]
Awesome picks:
Donn:
- Learning RxJava for Android by example – Kaushik’s talk [youtube.com]
- Loading data from multiple source [danlew.net]
- StorIO [engineering.pushtoreresh.com]
- Mocks aren’t Stubs [martinfowler.com]
Kaushik:
- Rebound animation library [facebook.github.io]
- Will Bailey (creator of Rebound):
- OrigamiActivity.java [gist.github.com]
- Under the hood [code.facebook.com]
- Example 1 [youtube.com]
- Example 2 [youtube.com]
- Example 3 [youtube.com]
- Example 4 [youtube.com]
- Springy animations with Rebound [parallelcross.com]
- Will Bailey (creator of Rebound):
Contact
Donn Felker
- @donnfelker [twitter.com]
- donnfelker.com
Kaushik Gopal
- @kaushikgopal [twitter.com]
- kaush.co