Программа: Android-разработка на Kotlin & Java

Двухгодичный, углубленный курс, который превратит вас в настоящего мобильного инженера.

Первый год: Фундамент и первые приложения (~72 часа)

Модуль 1: Основы Kotlin и Java 16 часов

Темы:

  • Сравнение Kotlin и Java. Почему Kotlin — основной язык для Android.
  • Фундаментальный синтаксис: переменные, типы (включая nullable), функции, условные операторы, циклы.
  • Коллекции: List, Set, Map. Функции высшего порядка (`map`, `filter`, `forEach`).
  • ООП в Kotlin/Java: классы, объекты, наследование, интерфейсы. Data-классы.

Результат модуля:

Вы уверенно пишете на Kotlin, решаете алгоритмические задачи и понимаете принципы ООП.

Модуль 2: Android Studio и UI 20 часов

Темы:

  • Знакомство с Android Studio. Структура проекта, Gradle, эмулятор, Logcat.
  • Жизненный цикл Activity и Fragment — основа основ.
  • Верстка экранов с помощью XML. ConstraintLayout, LinearLayout, FrameLayout.
  • View-элементы: `TextView`, `EditText`, `Button`, `ImageView`, `ProgressBar`.
  • Обработка кликов. `RecyclerView` для создания динамических списков.

Результат модуля:

Вы создадите своё первое многоэкранное приложение — например, "Каталог фильмов" со списком и детальным экраном.

Модуль 3: Хранение данных и навигация 20 часов

Темы:

  • `SharedPreferences` для сохранения простых настроек.
  • `Room` — современная библиотека для работы с локальной базой данных SQLite. DAO, Entity, Database.
  • `Navigation Component` для создания "правильной" и предсказуемой навигации между экранами.
  • Передача данных между фрагментами.

Результат модуля:

Вы разработаете приложение "Заметки" или "Список покупок", данные которого сохраняются на устройстве.

Модуль 4: Проект первого года 16 часов

Задача:

Разработать с нуля полноценное "оффлайн" приложение, объединив все полученные знания.

Пример проекта:

"Личный дневник" с возможностью создавать, редактировать, удалять записи и добавлять к ним фотографии из галереи. Все данные хранятся в локальной базе данных.

Результат модуля:

Законченное, работающее мобильное приложение, готовое для портфолио.

Второй год: Профессиональная разработка (~72 часа)

Модуль 5: Сетевые запросы и многопоточность 20 часов

Темы:

  • Принципы работы REST API. Библиотека `Retrofit` для сетевых запросов.
  • Парсинг JSON с помощью `Gson` / `Moshi`.
  • Корутины (Coroutines) в Kotlin — современный подход к асинхронности.
  • `ViewModel` и `LiveData` / `StateFlow` для работы с UI в правильном потоке.

Результат модуля:

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

Модуль 6: Архитектурные паттерны 20 часов

Темы:

  • Зачем нужна архитектура? Проблема "Activity на 1000 строк".
  • Паттерны MVVM (Model-View-ViewModel) и MVI (Model-View-Intent).
  • Внедрение зависимостей (Dependency Injection) с помощью `Hilt` / `Dagger 2`.
  • Принципы SOLID на практике в Android-разработке.

Результат модуля:

Вы перепишете свой проект на профессиональную, масштабируемую архитектуру, как это делают в больших компаниях.

Модуль 7: Продвинутый UI и Jetpack Compose 16 часов

Темы:

  • Создание кастомных View.
  • Работа с анимациями: `Transition API`, `MotionLayout`.
  • **Jetpack Compose:** декларативный подход к созданию UI. Composable-функции, состояние (State).
  • Переход от XML к Compose.

Результат модуля:

Вы создадите несколько экранов с помощью Jetpack Compose и добавите в приложение красивые, плавные анимации.

Модуль 8: Финальный проект и публикация 16 часов

Задача:

Создать сложное, архитектурно-правильное приложение, работающее с реальным API, и подготовить его к публикации.

Пример проекта:

Новостное приложение с разными категориями, поиском и возможностью добавлять статьи в "Избранное".

Этапы:

  • Проектирование архитектуры.
  • Разработка.
  • Тестирование (Unit и UI-тесты).
  • Подготовка приложения к публикации: подпись, оптимизация, создание скриншотов.

Результат модуля:

Опубликованное в Google Play (или готовое к публикации) приложение + проект, который показывает вашу квалификацию уровня Middle-разработчика.