Dalam pengembangan aplikasi Android tingkat lanjut, banyak pengembang menghadapi berbagai tantangan yang dapat memengaruhi kualitas dan skalabilitas aplikasi. Salah satu masalah utama adalah kesulitan dalam menerapkan arsitektur yang baik, yang sering kali menyebabkan kode sulit dipelihara dan diperluas. Selain itu, banyak aplikasi memiliki struktur kode yang kurang modular, sehingga menyulitkan proses pengujian unit dan meningkatkan risiko bug. Pengelolaan dependensi yang tidak optimal juga menjadi tantangan besar, membuat aplikasi rentan terhadap masalah kompatibilitas dan sulit diuji secara terpisah. Tidak hanya itu, konsep pemrograman reaktif dengan RxJava dan penerapan arsitektur modern seperti MVVM, VIPER, dan MVI sering kali membingungkan bagi pengembang yang belum berpengalaman.
Training Android Development Advanced ini dirancang untuk membantu pengembang memahami dan menguasai teknik-teknik pengembangan Android yang lebih baik. Dalam pelatihan ini, peserta akan mempelajari konsep fundamental seperti Model-View-Controller (MVC), Model-View-Presenter (MVP), dan Model-View-ViewModel (MVVM) serta penerapannya dalam pengembangan aplikasi. Selain itu, peserta akan diajarkan cara mengelola dependensi menggunakan Dependency Injection, melakukan pengujian unit yang efektif, serta memahami Android Architecture Components agar aplikasi lebih scalable dan terstruktur. Materi lain yang dibahas mencakup pemrograman reaktif dengan RxJava, debugging dengan Timber, dan teknik meningkatkan kualitas kode agar lebih mudah dikelola dan dikembangkan.
Dengan pendekatan berbasis praktik dan studi kasus, peserta akan mendapatkan pengalaman langsung dalam menerapkan berbagai konsep yang diajarkan. Training ini sangat cocok bagi pengembang Android yang ingin meningkatkan keterampilan mereka dalam membangun aplikasi berkualitas tinggi, modular, dan mudah diuji. Jika Anda ingin memahami lebih dalam bagaimana menerapkan arsitektur modern dan teknik pengembangan Android tingkat lanjut, training ini adalah kesempatan yang tepat untuk mengasah kemampuan Anda!
OBJECTIVES
1. Memahami Arsitektur Aplikasi yang Baik
2. Meningkatkan Kualitas Kode dan Kemudahan Pemeliharaan
3. Menguasai Pengujian Unit dan Debugging
4. Mengoptimalkan Pengelolaan Dependensi dengan Dependency Injection
5. Menerapkan Pemrograman Reaktif dengan RxJava
6. Memanfaatkan Android Architecture Components
7. Mengembangkan Aplikasi dengan Pendekatan Berbasis Studi Kasus
AUDIENCE
1. Android Developer
2. Mobile Software Engineer
3. Engineering Manager
4. Freelance Developer
5. Test Automation Engineer
PREREQUISITES
1. Business Process Model and Notation (BPMN)
CONTENT
Section I: Building a Foundation
1. Introduction
1.1. What is this book?
1.2. Why is app architecture important?
1.3. Introducing the sample project
1.4. WeWatch sample app walkthrough
1.5. Where to go from here?
2. Model View Controller
2.1.The Model-View-Controller pattern
2.2.Applying MVC to Android
2.3.WeWatch MVC code
3. Testing MVC
3.1. Android Testing
3.2. Focusing on unit tests
3.3. Unit testing the Movie class
3.4. Unit testing an Android Activity
3.5. Why MVC makes unit testing hard
4. Android Architecture Components
4.1. Using the Android Architecture Components
4.1. Advanced Android App Architectures
5. Dependency Injection
5.1. What is a dependency?
5.2. Why dependencies can be problematic
5.3. Injecting dependencies
5.4. Dependency injection frameworks
6. RxJava
6.1. What is the Observer pattern?
6.2. Getting to know RxJava
6.3. Observing events
6.4. Frequently Not Asked RxJava Questions
Section II: Fundamental UI Architectures
7. Model View Presenter Theory
7.1. The Model-View-Presenter pattern
7.2. MVP advantages and concerns
8. Model View Presenter Sample
8.1. Applying MVP to the Movies app
8.2. The Main screen
8.3. The Add Movie screen
8.4. The Search Movie screen
9. Testing MVP
9.1. Getting to know Mockito
9.2. Testing the MainPresenter
9.3. Testing the AddMoviePresenter
9.4. Testing the SearchPresenter
10. Model-View-ViewModel Theory
10.1. The Model-View-ViewModel pattern
10.2. MVVM by example
10.3. MVVM advantages and concerns
11. MVVM Sample with data binding
11.1. What is data binding?
11.2. Implementing data binding
12. MVVM Sample with Android
12.1. Architecture Components
12.2. Current architecture layers
12.3. Creating a movie repository
12.4. Creating ViewModels
12.5. Using LiveData with ViewModels
12.6. MVVM architecture
13. MVVM Testing
13.1. Creating unit tests
Section III: VIPER and MVI
14. VIPER Theory
14.1. What is VIPER?
14.2. VIPER Advantages and Concerns
14.3. Questions you didn’t think to ask
15. VIPER Sample
15.1. Implementing the Main Module
15.2. Implementing the AddMovie module
15.3. Implementing SearchMovie
16. Testing VIPER
16.1. Testing your Main presenter
16.2. Testing the AddMovie presenter
16.3. Testing SearchMovie Presenter
17. MVI Theory
17.1. What is MVI?
17.2. MVI Advantages and Concerns
17.3. Frequently Not Asked MVI Questions
18. MVI Sample
18.1. Going Reactive
18.2. Creating Interactors and State
18.3. Creating the Presenters
18.4. Creating the Views
18.5. Final thoughts
19. MVI Debugging
19.1. Introducing Timber
19.2. Testing the MVI architecture
Course Features
- Lectures 0
- Quizzes 0
- Duration 4 days
- Skill level All levels
- Language English
- Students 0
- Certificate No
- Assessments Yes