Modern Android App Architecture
- Description
- Curriculum
- FAQ
- Reviews
Take your Android development skills to the next level and become an expert in app architecture. Whether building small apps or large, multimodule projects, mastering Android app architecture is key to creating scalable, maintainable, high-performing applications.
Being an expert in app architecture will also prepare you for a Mobile Tech Lead role, as you will be able to make key architectural decisions, and guide projects toward success. You will also learn crucial system design principles and patterns that will help you excel in mobile system design interviews.
Stefan started developing Android apps – almost from Android’s birth – in 2011, and since then had to architect, design, and develop many challenging Android, iOS, and Multiplatform apps. In this course, he wants to share his comprehensive experience with you.
Apps are unique – different apps have different requirements and may require different architectural decisions. This course is designed to provide a solid foundation of architectural principles, explain and compare popular app architectures, and guide in selecting the right architecture based on the given requirements. Despite the course being especially targeted at Android, most concepts also apply to iOS.
About 8 hours of on-demand video content will cover what you need to know to master modern Android app architecture:
-
Writing Clean Code: Apply best practices and system design principles such as DRY and SOLID to create maintainable, scalable codebases.
-
Choosing the Right Pattern (MVC, MVP, MVVM): Learn the key differences between Model-View-Controller (MVC), Model-View-Presenter (MVP), and Model-View-ViewModel (MVVM) and choose the right pattern based on app size, complexity, and team needs
-
Implementing Clean Architecture: Minimize app lifetime maintenance costs and maximize developer productivity
-
Implementing Layered Architecture: Learn how to separate concerns into data, domain, and UI layers for better maintainability based on Google’s recommended app architecture
-
Using Android Architecture Components: Build scalable apps using Jetpack libraries from the UI to the data layer such as the Lifecycle API, the ViewModel API, LiveData & Flow, Coroutines, SharedPreferences & DataStore, the Room database, the WorkManager API or the Paging library
-
Implementing Efficient Navigation: Seamlessly handle navigation in complex apps with Android’s navigation component
-
Applying Dependency Injection (DI): Use popular DI frameworks like Dagger and Hilt, or service locator frameworks such as Kodein and Koin to write cleaner, more testable code with better dependency management
-
Mastering Modularization: Organize your complex codebase into modules, whether they are based on layers, features, or both for better scalability, respecting the principles of component cohesion and component coupling
-
4Clean CodeVideo lesson
-
5Clean Code: OverviewVideo lesson
-
6Clean Code: GoalsVideo lesson
-
7KISSVideo lesson
-
8YAGNIVideo lesson
-
9DRYVideo lesson
-
10SOLIDVideo lesson
-
11System Design Principles: QuizQuiz
-
12SOLID: Single Responsibility PrincipleVideo lesson
-
13SOLID: Open/Closed PrincipleVideo lesson
-
14SOLID: Liskov Substitution PrincipleVideo lesson
-
15SOLID: Interface Segregation PrincipleVideo lesson
-
16SOLID: Dependency Inversion PrincipleVideo lesson
-
17SOLID: QuizQuiz
-
18Clean Code: Demo CodeText lesson
-
19DRY: DemoVideo lesson
-
20Single Responsibility Principle: DemoVideo lesson
-
21Open/Closed Principle: DemoVideo lesson
-
22Liskov Substitution Principle: DemoVideo lesson
-
23Interface Segregation Principle: DemoVideo lesson
-
24Dependency Inversion Principle: DemoVideo lesson
-
25Architectural PatternsVideo lesson
-
26Architectural Patterns: OverviewVideo lesson
-
27MVC: Model-View-ControllerVideo lesson
-
28MVC: QuizQuiz
-
29MVC: Demo CodeText lesson
-
30MVC: DemoVideo lesson
-
31MVP: Model-View-PresenterVideo lesson
-
32MVP: QuizQuiz
-
33MVP: Demo CodeText lesson
-
34MVP: DemoVideo lesson
-
35MVVM: Model-View-ViewModelVideo lesson
-
36MVVM: QuizQuiz
-
37MVVM: Demo CodeText lesson
-
38MVVM: DemoVideo lesson
-
39Comparison: MVC vs. MVP vs. MVVPVideo lesson
-
40Architectural Patterns: QuizQuiz
-
41Clean ArchitectureVideo lesson
-
42Clean Architecture: OverviewVideo lesson
-
43Clean Architecture: GoalsVideo lesson
-
44Clean Architecture: StrategiesVideo lesson
-
45Clean Architecture: ComponentsVideo lesson
-
46Clean Architecture: Demo CodeText lesson
-
47Clean Architecture: DemoVideo lesson
-
48Clean Architecture: QuizQuiz
-
49Layered ArchitectureVideo lesson
-
50Layered Architecture: OverviewVideo lesson
-
51Architectural Principles & Best PracticesVideo lesson
-
52Architectural Principles: QuizQuiz
-
53Recommended App ArchitectureVideo lesson
-
54Recommended App Architecture: QuizQuiz
-
55Layered Architecture: UI LayerVideo lesson
-
56Unidirectional Data FlowVideo lesson
-
57UI State Production PipelineVideo lesson
-
58Exposing UI StateVideo lesson
-
59Consuming UI StateVideo lesson
-
60UI Layer: QuizQuiz
-
61Layered Architecture: Data LayerVideo lesson
-
62Repositories: Advanced TopicsVideo lesson
-
63Build Offline FirstVideo lesson
-
64Data Layer: QuizQuiz
-
65Layered Architecture: Domain LayerVideo lesson
-
66Domain Layer: QuizQuiz
-
67Layered Architecture vs. Clean ArchitectureVideo lesson
-
68Layered Architecture vs. Clean Architecture: QuizQuiz
-
69Layered Architecture: Demo CodeText lesson
-
70Demo: IntroVideo lesson
-
71Demo: Layered Architecture OutlineVideo lesson
-
72Demo: Layered Architecture StructureVideo lesson
-
73Demo: UI & Domain LayerVideo lesson
-
74Demo: Data LayerVideo lesson
-
75Demo: Sum UpVideo lesson
External Links May Contain Affiliate Links read more