Course Information
Course Overview
Design Scalable Apps and Prepare for a Mobile Tech Lead Role
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
Course Content
- 10 section(s)
- 130 lecture(s)
- Section 1 Introduction
- Section 2 Clean Code: System Design Principles
- Section 3 Architectural Patterns
- Section 4 Clean Architecture
- Section 5 Layered Architecture
- Section 6 Android Architecture Components
- Section 7 App Navigation
- Section 8 Dependency Injection
- Section 9 Modularization
- Section 10 Google I/O 2025 Additions
What You’ll Learn
- Becoming a Mobile Tech Lead: Master architectural skills
- Know how to architect apps of any size
- Writing clean code: Best practices and system design principles
- Comparing and choosing between MVC, MVP, and MVVM
- Implementing Clean Architecture & Layered Architecture in Android apps
- Building scalable apps with Android Architecture Components, Navigation & Dependency Injection
- Mastering modularization in multimodule Android projects
Skills covered in this course
Reviews
-
OOleh Ozhelevskyi
Багато води і мало реальної практики
-
NNagababu Kollu
it was good overall
-
LLavinia Netoi
Professional approach in a friendly tone.
-
RRodolfo Lima
The course was completely satisfactory, it exceeded my expectations.