Онлайн-курс, вебинар Профессия Android-разработчик

Даты начала обучения

Продолжительность:
18 месяцев

Стоимость обучения:

127 800 р.
Записаться на курс
Добавить к сравнению

Освойте программирование на Java и Kotlin, мобильную разработку и UX/UI, разработайте свое приложение для Android - мы обучаем так, что вы освоите программирование, даже не имея технической базы.

Программа курса

Программирование на Java

1. Введение в программирование

  • Computational thinking. Работа кода. Хранение и передача информации.
  • Устройство WEB и работа браузера. Работа протоколов. DNS
  • Основы работы с сетями. TCP/UDP
  • Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования. Принципы SOLID, KISS
  • Качество кода.
  • Введение в Git. Основные операции. Ветки, представление о мёрдже. Командная работа

2. Алгоритмы и структуры данных

  • Типы данных: числа и операторы, переменные, строки, булевы выражения. Структуры данных: массивы, списки, очереди. Условия и циклы. Функции.
  • Блок-схемы. О-нотация.
  • Алгоритмы сортировки и поиска
  • Представление о деревьях, хэш-таблицах, графах. Простые задачи на них.
  • Алгоритмическое мышление и паттерны решения проблем. Алгоритмические задачи.

3. Java

  • Установка JDK и IntelliJ IDEA. Особенности выполнения кода на Java
  • Основные синтаксические конструкции и операторы. Переменные. Циклы
  • Объекты и классы. Создание объектов. Копирование объектов. Внешние библиотеки классов
  • Операции с числами. Строки, символы, подстроки. Сравнение строк. Регулярные выражения
  • Массивы. Списки. Очереди. Поиск и сортировка
  • Наследование и полиморфизм. Наследование классов. Доступ к методам и переменным. Абстрактные классы
  • Коллекции (Java Collections Framework): list, treeset, treemap, queue, hashset, hashmap
  • Примитивы
  • Обработка исключений. Типы исключений

Мобильная разработка

4.1 Android Studio

  • Работа в Android Studio IDE
  • Структура android-проекта: Java/Kotlin, XML, .gradle files
  • Система сборки Gradle

4.2 Интерфейсы и анимация

  • Android-компонент Activity. Жизненный цикл, таски и BackStack
  • Intents. Типы intents. IntentFilter
  • Cтатические юзер-интерфейсы.
  • Основные виджеты (View): EditText, TextView, Button, ImageView, ScrollView, HorizontalScrollView, Switch
  • Контейнеры (ViewGroup): LinearLayout, RelativeLayout, FrameLayout, ConstraintLayout
  • Динамические юзер-интерфейсы. RecyclerView, ViewPager, Spinner
  • CustomView: Canvas, Bitmap, Paint
  • UI-ресурсы: Drawables, String, Styles
  • Support UI: Dialogs, ProgressBar
  • Списки. Кастомизированные списки. ItemDecorator
  • Элементы для навигации. Создание уведомлений. Взаимодействие элементов экрана с помощью контейнеров
  • Жизненный цикл Fragment. FragmentManager. BackStack
  • Передача данных между Activity и Fragment. Создание нескольких экранов и передача данных между ними.
  • Анимация векторных изображений и элементов интерфейса

4.3 Архитектура приложения

  • Принципы построения архитектуры мобильных приложений. Принципы чистой архитектуры.
  • Архитектурные паттерны MVVM, MVI, MVP
  • Применение LifeCycleOwner
  • LiveData: создание данных, обновление, подписка на обновления
  • ViewModel: создание модели, обмен данными

5. Kotlin

  • Среда разработки
  • Основные синтаксические конструкции и операторы. Условия. Циклы. Функции
  • Объектно-ориентированное программирование на Kotlin
  • Классы и объекты.
  • Функции высшего порядка. Исключения. Аннотации
  • Наследование. Системы классов. Интерфейсы
  • Фукциональное программирование. Лямбда-функции
  • Коллекции. Generics

6.1 Многопоточность

  • Асинхронное выполнение задач приложения. AsyncTask.
  • Thread. Hadler. Looper
  • Multithreading. Корутины. Написание асинхронного кода

6.2 Работа с сетью

  • Работа с протоколом HTTP. Библиотека OkHttp
  • Подключение к сети через Retrofit: синхронная и асинхронная загрузка
  • REST API
  • Форматы данных. JSON, GSON. Protocol Buffer, Flat Buffer
  • Загрузка изображений: Glide, Picasso

6.3 SQL и хранение данных

Хранение данных. Система файлов. DataBinding

  • Данные у пользователя и запрос данных. SharedPreferences. RuntimePermissions
  • Структура БД, основные запросы. Представление о SQL- и noSQL-базах данных
  • Работа с RoomDB. Создание собственной БД

Продвинутая мобильная разработка

7.1 Android-компоненты

  • Service. Запуск длительных задач в фоновом режиме. Пуш-уведомления.
  • Создание отложенных задач. JobScheduler, WorkManager, AlarmManager
  • Broadcasts-сообщения. BroadcastReceiver, LocalBroadcastReceiver
  • Content Provider: обмен данными между приложениями
  • Платформа FireBase для отслеживания ошибок приложения. Cloud Messaging, Crashlytics, Remote Config, App Indexing, Dynamic Link

7.2 Дополнительные библиотеки

  • Концепция функционального программирования. RxJava для асинхронной работы приложения: основные классы и операторы
  • Обработка ошибок и утечки памяти в RxJava
  • Dagger2. Внедрение зависимостей. Модули и компоненты
  • Dagger2. Проектирование многомодульного приложения
  • Библиотека Anko
  • Плюсы и минусы различных архитектурных паттернов. Рефакторинг кода

7.3 Безопасность приложения

  • Шифрование и дешифрование данных
  • Proguard. Встроенная обфускация и оптимизация

7.4 UX/UI (бонусный трек)

  • Основы digital-дизайна
  • UX-исследования. Построение CJM
  • Проектирование в Figma. Дизайн-концепция. Material Design
  • Прототипирование интерфейса

7.5 Сборка приложения

  • Линтеры для проверки качества кода
  • Оптимизация сборки в Gradle
  • Docker-контейнеры
  • Jenkins для сборки проекта

7. 6 Тестирование приложений

  • A/B-тестирование приложений
  • Unit-тесты в Android. Test Driven Development
  • Интеграционное и модульное тестирование. JUnit, Mockito, Robolectic
  • UI-тестирование в Android. Фреймворк Espresso
  • Покрытие приложения тестами
  • Концепция CI/CD. Поддержка и оптимизация приложений

7. 7 Публикация приложений в Play Store

  • App Bundle: различные типы сборок приложения (dev и production). .keystore files. Платная и бесплатная версии
  • Builds. Flavors. Flavor dimensions
  • Публикация приложения в Play Store: загрузка приложения в маркет, распространение и локализации приложения

8. Финальный проект

  • Командная разработка мобильного приложения с публикацией в Play Store

Преподаватели

Никита Баришок
Ментор, преподаватель. Более 6 лет опыта разработки на Android. Работал в Trucker Path, ABBYY, BMSTU Research Insitute. Имеет опыт управления командой разработчиков в качестве тимлида. Основные навыки: Java, Android Development, RxJava.
Рустам Исламнуров
Ментор, преподаватель Более 4 лет опыта разработки на Android. Более 3-х лет преподавания Android-разработки в Samsung.
Виталий Раевский
Ведущий вебинаров и ментор. Более 11 лет опыта веб-разработки и более 5 лет разработки на Android.

Даты и места проведения

Онлайн
По мере набора группы
127 800 р. Записаться

Похожие курсы

Посмотреть все похожие курсы

Мы бесплатно подберем для Вас подходящие курсы.

 Подборка курсов на e-mail
Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies  🍪