Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/onmyway133/awesome-android-architecture

🏰 Better ways to structure Android apps
https://github.com/onmyway133/awesome-android-architecture

List: awesome-android-architecture

android architecture

Last synced: about 1 month ago
JSON representation

🏰 Better ways to structure Android apps

Awesome Lists containing this project

README

        

# awesome android architecture [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

❤️ Support my app ❤️

- [Push Hero - pure Swift native macOS application to test push notifications](https://www.producthunt.com/posts/push-hero-2)
- [PastePal - Pasteboard, note and shortcut manager](https://www.producthunt.com/posts/pastepal)
- [Frame recorder - Recorder gif and video with frame](https://www.producthunt.com/posts/frame-recorder)
- [Other apps](https://onmyway133.github.io/projects/)

❤️❤️😇😍🤘❤️❤️

## Table of content

- [Architecture Component](#architecture-component)
- [MVP](#mvp)
- [MVC](#mvc)
- [MVI](#mvi)
- [MVVM](#mvvm)
- [Clean Architecture](#clean-architecture)
- [Misc](#misc)

# Architecture Component

### Posts

- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html)
- [Architecture Components - Introduction (Google I/O '17)](https://www.youtube.com/watch?v=FrteWKKVyzI)
- [Guide to App Architecture](https://developer.android.com/topic/libraries/architecture/guide.html) 🚀
- [Android lifecycle-aware components codelab](https://codelabs.developers.google.com/codelabs/android-lifecycles)
- [Exploring the new Android Architecture Components library](https://medium.com/exploring-android/exploring-the-new-android-architecture-components-c33b15d89c23)
- [droidcon NYC 2017 - ViewModels, LiveData and Lifecycles, oh my!](https://www.youtube.com/watch?v=SlZVYkhoSq8)
- [Android Architecture Components Considered Harmful](https://academy.realm.io/posts/android-architecture-components-considered-harmful-mobilization/)
- [ViewModels: Persistence, onSaveInstanceState(), Restoring UI State and Loaders](https://medium.com/google-developers/viewmodels-persistence-onsaveinstancestate-restoring-ui-state-and-loaders-fc7cc4a6c090)
- [ViewModels and LiveData: Patterns + AntiPatterns](https://medium.com/google-developers/viewmodels-and-livedata-patterns-antipatterns-21efaef74a54)
- [Google releases source for Google I/O 2018 for Android](https://android-developers.googleblog.com/2018/08/google-releases-source-for-google-io.html)
- [5 common mistakes when using Architecture Components](https://proandroiddev.com/5-common-mistakes-when-using-architecture-components-403e9899f4cb)

### Repos

- [android-architecture-counter-sample](https://github.com/dlew/android-architecture-counter-sample) Sample app using Android architecture components
- [android-architecture-components](https://github.com/googlesamples/android-architecture-components) Samples for Android Architecture Components

# MVP
Model View Presenter

### Posts

- [Model-View-Presenter: Android guidelines](https://medium.com/@cervonefrancesco/model-view-presenter-android-guidelines-94970b430ddf)
- [Android MVP — Doing it right](https://android.jlelse.eu/android-mvp-doing-it-right-dac9d5d72079)
- [droidcon NYC 2017 - Clean app design with Architecture Components](https://www.youtube.com/watch?v=i1-7S-RxfvQ) :rocket:
- [Android Architecture Patterns Part 2: Model-View-Presenter](https://medium.com/upday-devs/android-architecture-patterns-part-2-model-view-presenter-8a6faaae14a5)
- [Essential Guide For Designing Your Android App Architecture: MVP: Part 1](https://blog.mindorks.com/essential-guide-for-designing-your-android-app-architecture-mvp-part-1-74efaf1cda40)

### Repos

- [android-architecture-components](https://github.com/googlesamples/android-architecture-components) Samples for Android Architecture Components.
- [mortar](https://github.com/square/mortar) A simple library that makes it easy to pair thin views with dedicated controllers, isolated from most of the vagaries of the Activity life cycle.
- [nucleus](https://github.com/konmik/nucleus) Nucleus is an Android library, which utilizes the Model-View-Presenter pattern to properly connect background tasks with visual parts of an application.

# MVC
Model View Controller

### Posts

- [Android Architecture Patterns Part 1: Model-View-Controller](https://medium.com/upday-devs/android-architecture-patterns-part-1-model-view-controller-3baecef5f2b6)

# MVI
Model View Intent

### Posts

- [android-architecture](https://github.com/oldergod/android-architecture) MVI architecture Implementation of the ToDo app.
- [droidcon NYC 2017 - Model-View-Intent for Android](https://www.youtube.com/watch?v=PXBXcHQeDLE)
- [The Contract of the Model-View-Intent Architecture](https://proandroiddev.com/the-contract-of-the-model-view-intent-architecture-777f95706c1e)

# MVVM
Model View ViewModel

### Posts

- [ANDROID DATABINDING: GOODBYE PRESENTER, HELLO VIEWMODEL!](http://tech.vg.no/2015/07/17/android-databinding-goodbye-presenter-hello-viewmodel/)
- [Android Architecture Patterns Part 3:
Model-View-ViewModel](https://medium.com/upday-devs/android-architecture-patterns-part-3-model-view-viewmodel-e7eeee76b73b)
- [Android Architecture Components MVVM — Part 1](https://proandroiddev.com/android-architecture-components-mvvm-part-1-1bd138959535)

### Repos

- [AndroidViewModel](https://github.com/inloop/AndroidViewModel) Separating data and state handling from Fragments or Activities without lots of boilerplate-code.
- [android-oss](https://github.com/kickstarter/android-oss) Kickstarter for Android

# Clean Architecture

### Posts

- [A detailed guide on developing Android apps using the Clean Architecture pattern](https://medium.com/@dmilicic/a-detailed-guide-on-developing-android-apps-using-the-clean-architecture-pattern-d38d71e94029)

### Repos

- [CleanArchitecture](https://github.com/android10/Android-CleanArchitecture)
- [android-clean-architecture-boilerplate](https://github.com/bufferapp/android-clean-architecture-boilerplate)

# Misc

### Posts

- [Android Architecture: Part 1 – every new beginning is hard](http://five.agency/android-architecture-part-1-every-new-beginning-is-hard/)
- [Model View Intent on Android](http://hannesdorfmann.com/android/model-view-intent)
- [Communication between Fragment and Activity](https://github.com/onmyway133/blog/issues/108)
- [Keddit — Intro: Learn Kotlin while developing an Android App](https://android.jlelse.eu/learn-kotlin-while-developing-an-android-app-introduction-567e21ff9664) :rocket: :rocket:
- [MVC vs MVP vs MVVM vs MVI](https://academy.realm.io/posts/mvc-vs-mvp-vs-mvvm-vs-mvi-mobilization-moskala)
- [A Functional Approach to Android Architecture using Kotlin](https://academy.realm.io/posts/mobilization-2017-jorge-castillo-functional-android-architecture-kotlin/)

### Reactive Programming

- [Grokking RxJava, Part 1: The Basics](http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/)
- [Crunching RxAndroid — Intro](https://medium.com/crunching-rxandroid/crunching-rxandroid-intro-c27eb6f009ea)
- [RxAndroid and Kotlin (Part 1)](https://medium.freecodecamp.org/rxandroid-and-kotlin-part-1-f0382dc26ed8)
- [Retrofiting on Android with Kotlin](https://segunfamisa.com/posts/using-retrofit-on-android-with-kotlin)
- [Using Kotlin, RxJava 2 and Retrofit to consume REST API on Android](https://softwaremill.com/kotlin-rxjava2-retrofit-android/)

### Adapter

- [Great Adapter hell escape](http://hannesdorfmann.com/android/adapter-delegates)

### Dependency Injection

- [kapsule](https://github.com/traversals/kapsule) Minimalist dependency injection library for Kotlin.
- [Kodein](https://github.com/SalomonBrys/Kodein) Painless Kotlin Dependency Injection
- [Dependency injection in Android](https://developer.android.com/training/dependency-injection)

### Testing

- [Testing robots](https://academy.realm.io/posts/kau-jake-wharton-testing-robots/)