Android-разработчик. Продвинутый курс

Курс обеспечивает глубокое погружение в промышленную Android-разработку на языке Kotlin, и за 5 месяцев позволяет прокачать свои навыки с уровня Junior до Middle или Senior Android-разработчика.
IT: Для программистов и IT-специалистов
OTUS Онлайн-образование логоOTUS Онлайн-образование
Дата уточняется
5 месяцев
Онлайн
от 60 000 ₽
Зарегистрироваться
Целевая аудитория
Android-разработчики

Что даст вам этот курс

Курс рассчитан на 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

Глубокое погружение в промышленную Android-разработку
Много практики и живого общения с преподавателями
Выстраивание инфраструктуры "с нуля"
Весь курс построен на языке Kotlin
Глубокое изучение Gradle, Dagger 2, RxJava 2, а также процесса тестирования Android-приложений
Проектирование архитектуры приложений
Преподаватели 6

Необходимые знания

  • Опыт разработки под Android от 1 года
  • Знание Java Core или Kotlin
  • Знакомство с системой контроля версий git
  • Знакомство с популярными фреймворками: Dagger, RxJava, Android architecture components
  • Опыт работы с сетью и хранилищами данных в Android
  • Понимание принципов RESTful API

Процесс обучения

Всё обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение об
ратной связи от преподавателя.

Вебинары идут дважды в неделю по 1,5 часа. Все вебинары сохраняются и в записи в вашем личном кабинете.

Домашнее задание выдается в среднем одно в неделю, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.

Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту вы сможете задавать преподавателю в слаке или во время вебинаров.

Курс длится 5 месяцев, финальный месяц отводится для выполнения проектной работы до сдачи домашних заданий и вопросов преподавателям.

Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в слаке группы и на проектных занятиях.
Программа
1 Kotlin
1.1 Kotlin стандартная библиотека
1.2 Kotlin coroutines
2 Architecture
2.1 Design patterns
2.2 MVP + Clean
2.3 MVVM + MVI
2.4 RxJava
2.5 Architecture Components
2.6 Dagger2
2.7 Multimodule project
2.8 Code smells + refactoring
3 View
3.1 Views
3.2 Canvas
3.3 Animations
3.4 RecyclerView
3.5 UI Profiling
4 Data
4.1 Services
4.2 Network
4.3 Persistent storage
4.4 Security in Android
5 Testing
5.1 Юнит тесты
5.2 Интеграционное тестирование на Android
5.3 Automated UI Testing. Espresso framework, Spoon, MockWebserver
6 Build process
6.1 Proguard
6.2 Инструменты для проверки качества кода
6.3 Gradle
6.4 Gradle. Best practices and optimisations
6.5 Docker
6.6 Jenkins
6.7 Distribution / Crash overview
7 Проектная работа
7.1 Выбор темы и организация проектной работы
7.2 Консультация по проектам и домашним заданиям
7.3 Защита проектных работ

Выпускной проект

На протяжении всего курса вы будете работать над собственным проектом. Это будет тонкий клиент к какому-либо сервису с публичным API.

Основной упор будет сделан на качество кода, архитектуру проекта, покрытие тестами, безопасность, красивый и аккуратный дизайн, разбиение на модули (по фичам либо по слоям), процесс сборки на CI и доставке apk.

## Например, вы можете использовать следующие API для курсового проекта:
  • API YouTube или другого видеосервиса - тогда в его приложении будет подключен ExoPlayer, помимо вышеописанных критериев основной упор будет сделан на воспроизведение видео, сохранение стейта видео и тп.
  • API Ethereal-price или любой другой сервис, который мониторит информацию по курсам криптовалюты. Тогда упор будет сделан на кастомные вью с графиками, их скорость и интерактивность.
  • API Imgur или любой другой фоторедактор (клон инстаграмма). В этом случае, упор будет сделан на скорость работы, удобство использования инструментов и т.д.
## Плюсы такого подхода:
- Вы сразу будете видеть конечную цель курса
- По прохождению курса у вас будет готов проект в GitHub с commit history, который можно упомянуть в резюме

Последний месяц курса посвящен доработке проекта, который вы разрабатывали в течении курса, и консультациям с преподавателем. Вы сможете реализовать недостающие фичи, дописать UI тесты и т.д.

После обучения вы

  • заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, исходные коды программ;
  • сохраните пример разработанного приложения;
  • получите сертификат о прохождении курса;
  • получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).
Записаться на курс
Android-разработчик. Продвинутый курс
В месяц: 15 000 ₽
В кредит: 7340 ₽ в месяц
60 000
Часто задаваемые вопросы
Можно ли начать обучение позже даты старта курса?
Да, можно. Доступ к материалам курса будет доступен в личном кабинете. Если вы будете сильно отставать от общей группы, то можно будет перевестись на следующий поток бесплатно.
Дата уточняется
5 месяцев
Онлайн
от 60 000 ₽
Зарегистрироваться