1 Ступень.
Kotlin.
В этом модуле будут рассмотрены основными конструкции языка Kotlin, сможете писать код в kotlin-стиле, использовать kotlin extensions.
- Тема 1: Знакомство с курсом
- Тема 2: Kotlin #1
- Тема 3: Kotlin #2
- Тема 4: Kotlin #3
- Тема 5: Kotlin #4
- Тема 6: Kotlin #5
- Тема 7: Kotlin #6
- Тема 8: Консультация по ДЗ
- Тема 9: Kotlin #7
В этом модуле будут рассмотрены ключевые элементы, на которых строится любое Android приложение.
- Тема 1: Activity #1
- Тема 2: Activity #2
- Тема 3: Activity #3
- Тема 4: Android Studio & SDK Tools
- Тема 5: Resources #1
- Тема 6: View #1
- Тема 7: Resources #2
- Тема 8: View #2
- Тема 9: Консультация по ДЗ
- Тема 10: Fragment #1
- Тема 11: Fragment #2
- Тема 12: RecyclerView #1
- Тема 13: RecyclerView #2
- Тема 14: Animations
В этом модуле будут рассмотрены различные варианты хранения данных, доступа в интернет и многопоточности.
- Тема 1: MVVM
- Тема 2: Консультация по ДЗ
- Тема 3: Dagger2 #1
- Тема 4: Dagger2 #2
- Тема 5: Hilt
- Тема 6: Kotlin Coroutines
В этом модуле будут рассмотрены компоненты Android, которые позволяют общаться с системой и другими приложениями, создавать отложенные задачи.
- Тема 1: Сеть
- Тема 2: Persistent Storage #1
- Тема 3: Persistent Storage #2
- Тема 4: Консультация по ДЗ
- Тема 5: Service
- Тема 6: Periodic Tasks + BroadcastReceiver
- Тема 7: Location + Maps
- Тема 8: Sensors & Camera
В этом модуле будут рассмотрено автоматическое тестирование в контексте Android, а также сборка и публикация приложения.
- Тема 1: Testing #1
- Тема 2: Testing #2
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
- Тема 1: Карьерная консультация
- Тема 2: Консультация по проектам и домашним заданиям
- Тема 3: Консультация по проектам и домашним заданиям
- Тема 4: Консультация по проектам и домашним заданиям
- Тема 5: Защита проектных работ
Введение
Освежим знания по Kotlin stdlib. Поговорим о kotlin coroutines, их внутреннем устройстве и API.
- Тема 1: Выбор темы и организация проектной работы
- Тема 1: Kotlin coroutines
- Тема 2: Flow
- Тема 3: RxJava
В этом модуле поговорим про архитектуру в Android приложениях. Рассмотрим популярные архитектурные паттерны и выявим pros & cons каждого из них. Углубимся в ООП паттерны, особое внимание уделим IOC, в частности Dependency Injection: изучим как работает Dagger 2 и используем его для построение многомодульного приложения. Научимся искать явные признаки плохо спроектированного проекта и общие “запахи кода”, и рефакторить проблемные участки кода.
- Тема 1: Clean Architecture
- Тема 2: MVC+MVP+MVVM
- Тема 3: MVI
- Тема 4: Dagger
- Тема 5: Dagger2.
- Тема 6: Hilt
- Тема 7: Multi-module project
- Тема 8: Multi-module project 2
- Тема 9: Navigation & Single Activity
Третий модуль посвящен View и всему что с ними связано. Поговорим о View и ViewGroup которые доступны из коробки, погрузимся в их устройство и сравним быстродействие. Рассмотрим инструменты которые предоставляет Android SDK для рисования/рендеринга своих View. Сделаем наше приложение более отзывчивым используя широкие возможности Animator фреймворка. Научимся использовать инструменты для профилирования чтобы быть уверенными что наши вью попадают в ui rendering frame.
- Тема 1: Views
- Тема 2: Canvas
- Тема 3: Animations. часть 1
- Тема 4: Animations. часть 2
- Тема 5: RecyclerView
- Тема 6: Compose 1 часть
- Тема 7: Compose 2 часть
- Тема 8: Ui Profiling
Здесь мы поговорим о том как получать данные, обрабатывать их и безопасно хранить. Рассмотрим способы получения данных по сети, хранение в persistent и secure хранилищах.
- Тема 1: Android Internals
- Тема 2: Services
- Тема 3: Persistent storage
- Тема 4: Network
- Тема 5: Securing storage
В данном модуле рассмотрим различные виды тестов. Начнем с основания пирамиды тестирования - unit тестов, плавно перейдем на интеграционные тесты и закончим на вершине - автоматизированными UI тестами которые позволяют облегчить и ускорить ручное тестирование. Поговорим о таких инструментах как JUnit, Mockito, Robolectric, Espresso, UIAutomator и т.д. Подробно разберем на практике нюансы различных видов тестирования, слабые и сильные стороны, их стоимость и процессы написания/выполнения.
- Тема 1: Testing #1
- Тема 2: Testing #2
- Тема 3: UI Tests
Этот модуль посвящен инфраструктуре, сборке и деплою приложений. Поговорим о системах сборки, контейнерах, инструментах для CI/CD. Напишем свой pipeline для сборки/тестирования/деплоя приложения.
- Тема 1: R8 & Proguard
- Тема 2: Android Lint
- Тема 3: Gradle API
- Тема 4: Gradle optimizations
- Тема 5: Кодогенерация
- Тема 6: Docker для Android разработки
- Тема 7: Jenkins
- Тема 8: Занятие «App Distribution & Health Monitoring»