Что даст вам этот курс: Курс рассчитан на Android-разработчиков с опытом работы от 1 года, со знанием Java или Kotlin. Вы научитесь: Глубоко разбираться в Android SDK. Разница между junior- и senior-разработчиками в том, что первый может реализовать какую-то фичу, а второй может объяснить, что скрывается за каждой строкой кода этой фичи, найти потенциальные проблемные места и оптимизировать их. Вы узнаете, что происходит внутри классов и методов Android SDK, сможете заметно ускорить свое приложение, выбрать оптимальный алгоритм шифрования для вашего приложения, и организовать безопасное хранилище секретных данных. Организовывать инфраструктуру. Разворачивать системы continuous integration и continuous delivery, выстраивать git flow, поднимать Docker-контейнеры и Jenkins внутри них. Научитесь внедрять и настраивать линтеры и чекстайлы для проверки качества кода. Сможете писать свои Gradle таски и плагины для автоматизации и оптимизации процессов сборки и тестирования. Проектировать архитектуру приложения. Вы узнаете сильные и слабые места паттернов и архитектурных решений, научитесь правильно выбирать архитектурный паттерн для вашего приложения. Освоите GoF, MV* шаблоны для Android и принципы Clean Architecture. Научитесь проектировать мультимодульную архитектуру и проводить рефакторинг legacy кода. Тестировать приложения. Недостаточно просто уметь писать тесты. Важно приучиться писать надежный и протестированный код, интеграционные тесты и UI-тесты. Рассмотрим популярные фреймворки для тестирования и подходы к написанию тестов. Использовать современные библиотеки и фреймворки На профессиональном уровне освоите Dagger 2 и RxJava 2, сможете правильно организовывать DI в приложении с использованием Dagger 2, писать собственные операторы в RxJava и т.д.Глубокое погружение в промышленную Android-разработку Весь курс построен на языке Kotlin Много практики и живого общения с преподавателями Глубокое изучение Gradle, Dagger 2, RxJava 2, а также процесса тестирования Android-приложений Выстраивание инфраструктуры «с нуля» Проектирование архитектуры приложений Необходимые знания: Опыт разработки под Android от 1 года Знание Java Core или Kotlin Знакомство с системой контроля версий git Знакомство с популярными фреймворками: Dagger, RxJava, Android architecture components Опыт работы с сетью и хранилищами данных в Android Понимание принципов RESTful API 3 Architecture 1 Design patterns GoF паттерны, publisher/ subscriber, LRU etc. После этого занятия вы научитесь применять на практике часто используемые паттерны проектирования из GoF, паттерны многопоточного взаимодействия и синхронизации, кеширования и т.п. 2 MV* patterns in Android Архитектурные паттерны: MVP/ MVVM/MVI. После занятия вы сможете подбирать нужный архитектурный проект и собирать проект на основе данной архитектуры. 3 Clean Architecture После занятия вы сможете выстраивать архитектуру в соответствии с принципами Clean Architecture сформулированными Бобом Мартином. 4 Android Architecture Components LifecycleOwner, LiveData, Room, Paging, ViewModel. После занятия вы сможете применять AAC в своих приложениях, адаптировать их под конкретно выбранную архитектуру. 5 Dagger 2 Dagger2, Dagger2 Android Injector. Вы сможете правильно организовывать DI в приложении, используя Dagger2. 6 RxJava 2 После занятия вы научитесь применять “недооцененные” операторы, писать собственные операторы, узнаете как работают шедулеры. 7 Multimodule project Dagger2, Gradle modules. После этого занятия вы научитесь проектировать мультимодульную архитектуру приложения. 8 Code smells + refactoring После этого занятия вы научитесь находить плохие архитектурные решения, строить roadmap и проводить рефакторинг.