Android-разработчик [Otus] [Михаил Валуйский, Максим Качинкин, Николай Кочетков]

Bot

Администратор
Команда форума
23 Янв 2020
205,187
3,142
113
269049.jpg

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
Core

В этом модуле будут рассмотрены ключевые элементы, на которых строится любое 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
Architecture

В этом модуле будут рассмотрены различные варианты хранения данных, доступа в интернет и многопоточности.
  • Тема 1: MVVM
  • Тема 2: Консультация по ДЗ
  • Тема 3: Dagger2 #1
  • Тема 4: Dagger2 #2
  • Тема 5: Hilt
  • Тема 6: Kotlin Coroutines
Data

В этом модуле будут рассмотрены компоненты Android, которые позволяют общаться с системой и другими приложениями, создавать отложенные задачи.
  • Тема 1: Сеть
  • Тема 2: Persistent Storage #1
  • Тема 3: Persistent Storage #2
  • Тема 4: Консультация по ДЗ
  • Тема 5: Service
  • Тема 6: Periodic Tasks + BroadcastReceiver
  • Тема 7: Location + Maps
  • Тема 8: Sensors & Camera
Testing

В этом модуле будут рассмотрено автоматическое тестирование в контексте Android, а также сборка и публикация приложения.
  • Тема 1: Testing #1
  • Тема 2: Testing #2
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

  • Тема 1: Карьерная консультация
  • Тема 2: Консультация по проектам и домашним заданиям
  • Тема 3: Консультация по проектам и домашним заданиям
  • Тема 4: Консультация по проектам и домашним заданиям
  • Тема 5: Защита проектных работ
2 ступень
Введение


Освежим знания по Kotlin stdlib. Поговорим о kotlin coroutines, их внутреннем устройстве и API.

  • Тема 1: Выбор темы и организация проектной работы
Asynchronous programming
  • Тема 1: Kotlin coroutines
  • Тема 2: Flow
  • Тема 3: RxJava
Architecture
В этом модуле поговорим про архитектуру в 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 и всему что с ними связано. Поговорим о 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
Data
Здесь мы поговорим о том как получать данные, обрабатывать их и безопасно хранить. Рассмотрим способы получения данных по сети, хранение в persistent и secure хранилищах.

  • Тема 1: Android Internals
  • Тема 2: Services
  • Тема 3: Persistent storage
  • Тема 4: Network
  • Тема 5: Securing storage
Testing
В данном модуле рассмотрим различные виды тестов. Начнем с основания пирамиды тестирования - unit тестов, плавно перейдем на интеграционные тесты и закончим на вершине - автоматизированными UI тестами которые позволяют облегчить и ускорить ручное тестирование. Поговорим о таких инструментах как JUnit, Mockito, Robolectric, Espresso, UIAutomator и т.д. Подробно разберем на практике нюансы различных видов тестирования, слабые и сильные стороны, их стоимость и процессы написания/выполнения.

  • Тема 1: Testing #1
  • Тема 2: Testing #2
  • Тема 3: UI Tests
Build process
Этот модуль посвящен инфраструктуре, сборке и деплою приложений. Поговорим о системах сборки, контейнерах, инструментах для 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»