Курс Android Jetpack Compose (бесплатные уроки)

Познакомимся?
Android [Kotlin] для начинающих - изображение Иван Ветров

Разработчик по Android-разработке и Kotlin

Меня зовут Иван. Я автор уроков на YouTube по разработке Android-приложений под ником ievetrov

Здесь вы найдете видео и текстовые версии уроков по созданию Android-приложений. Все видео можно посмотреть на канале YouTube и VK. Обучение рассчитано на начинающих разработчиков, а также на тех, у кого совсем нет опыта в разработке мобильных приложений.

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

Урок 1: Введение и подготовка окружения

Урок 1: Введение и подготовка окружения

Смотреть урок в VK Смотреть урок на YouTube Введение Jetpack Compose – это способ создания интерфейса для мобильных приложений, использующий декларативный подход. Большинство новых проектов пишутся с применением компоуза и в большинстве вакансий на рынке требуют знание этой технологии. Однако, навык XML все еще востребован. Так как огромное количество проектов все еще используют его. Более […]

Смотреть урок →
Урок 2: ПОЧЕМУ ОН (Jetpack Compose), а не XML

Урок 2: ПОЧЕМУ ОН (Jetpack Compose), а не XML

Смотреть урок в VK Смотреть урок на YouTube Введение Давайте пройдемся по теории. В чем идея, задумка, зачем Jetpack Compose вообще появился и почему все так хотят сейчас писать на нем. Я расскажу очень поверхностно про историю разработки на XML, попутно обращая внимания на нововведения и неудобства этого подхода. А в конце мы подведем итоги, […]

Смотреть урок →
Урок 3: DSL, Императивный и Декларативный подход

Урок 3: DSL, Императивный и Декларативный подход

Смотреть урок в VK Смотреть урок на YouTube Введение Почему в Jetpack Compose можно верстать функциями? В свое время Android разработка активно опиралась на Java, но постепенно отошла от него в пользу Kotlin. Сегодня Kotlin практически полностью вытеснил Java с этой арены. И разработчики Kotlin, помимо прочего, заложили, казалось бы, одну небольшую, но довольно важную […]

Смотреть урок →
Урок 4: @Composable функции

Урок 4: @Composable функции

Смотреть урок в VK Смотреть урок на YouTube Введение Пришло время начать работу в Android Studio. Потихоньку начнем писать код, попутно делая легкие привалы на разъяснения того, что же мы все таки пишем, но без духоты. Разбираем что такое и как работают Composable функции, а также что происходит внутри setContent и зачем нужен метод Scaffold. […]

Смотреть урок →
Урок 5: Column & Row – позиционирование

Урок 5: Column & Row – позиционирование

Смотреть урок в VK Смотреть урок на YouTube Введение Мы уже научились создавать свои первые composable функции для отображения UI. Теперь расскажу как работать с позиционированием элементов на экране. Итак, мы имеем одну собственную composable функцию для удобства, в которой есть другая системная composable функция для отображения текста. Метод StudyAppHeader не обязательно должен содержать только […]

Смотреть урок →
Урок 6: Modifier (модификаторы) и аргументы composable функций

Урок 6: Modifier (модификаторы) и аргументы composable функций

Смотреть урок в VK Смотреть урок на YouTube Введение Мы уже коснулись темы модификаторов, когда кастомизировали некоторые наши элементы и занимались их позиционированием. Сейчас я хочу более подробно раскрыть эту область, потому, что возможности настройки отображения элементов практически безграничные. А главное – это делается достаточно изящно и легко. Итак, как вы уже понимаете отображение можно настраивать […]

Смотреть урок →
Урок 7: Темная тема и стили

Урок 7: Темная тема и стили

Смотреть урок в VK Смотреть урок на YouTube Введение В этом уроке рассмотрим работу со стилями и темами в Jetpack Compose. Скорее всего те, кто уже имеет насмотренность, мог заметить, что я часто дублирую модификаторы оформления, например, для текстов. Все это принято выносить в стили. Кроме того уже стандартом считается поддержка темной темы приложения, если […]

Смотреть урок →
Урок 8: MutableState, remember. Состояние и Рекомпозиция

Урок 8: MutableState, remember. Состояние и Рекомпозиция

Смотреть урок в VK Смотреть урок на YouTube Введение Мы уже научились отображать и оформлять элементы. Но часто данные являются динамическими – то есть заполняются строками, цифрами и другими значениями в зависимости от состояния. В Jetpack Compose за это отвечает state. В этом уроке мы подробно рассмотрим важные концепции состояния и рекомпозиции. Сравнение с классической […]

Смотреть урок →
Урок 9: TextField /OutlinedTextField, Валидация почты, ErrorState

Урок 9: TextField /OutlinedTextField, Валидация почты, ErrorState

Смотреть урок в VK Смотреть урок на YouTube Введение В прошлом уроке мы разобрались в критически важной теме, связанной с хранением состояния и рекомпозицией. Теперь мы можем работать с большим количеством composable функций, которые не могут работать без объявления стейта. В качестве демонстрационной задачи мы реализуем ввод электропочты в текстовое поле. Сначала быстрая подготовка. Как […]

Смотреть урок →
Урок 10: Коллбэки (callback). Внедрение логики регистрации

Урок 10: Коллбэки (callback). Внедрение логики регистрации

Введение Сейчас будет максимально практический урок. Будем внедрять логику нашей гипотетической регистрации. Акцент в первую очередь делаем на том, чтобы подружить между собой состояния composable функций. На текущий момент мы изучили состояния и как происходит рекомпозиция. А на предыдущем уроке создали классное анимируемое и валидируемое текстовое поле для ввода электронной почты. Продолжим. В качестве демонстрационной […]

Смотреть урок →
Урок 11: Lazy Column – ленивые списки (сравнение с RecyclerView)

Урок 11: Lazy Column – ленивые списки (сравнение с RecyclerView)

Введение Я продолжаю разрабатывать экраны для своего гипотетического образовательного приложения. И прямо сейчас настало время создать экран со списком уроков. Я расскажу как правильно реализовывать списки в Jetpack Compose, как это сделать быстро, красиво и чтобы не аффектило пользовательский опыт. В ближайшем будущем это будет список текстовых элементов, который превратится в набор кликабельных карточек и […]

Смотреть урок →
Урок 12: Навигация – Base Compose Navigation

Урок 12: Навигация – Base Compose Navigation

Введение В этом уроке мы разберемся, как заставить наше приложение переключаться между экранами. Навигация – неотъемлемая часть любого приложения и часто этот предмет вызывает много вопросов и обсуждений. Есть много способов ее реализации, есть много сторонних библиотек для ее реализации. Наша цель – добавить в проект контролируемую и предсказуемую систему переходов между экранами, которая легко […]

Смотреть урок →
Урок 13: Navigation Compose – правильная навигация

Урок 13: Navigation Compose – правильная навигация

Введение Сегодня у нас очень важная тема — навигация в Jetpack Compose с использованием Navigation Compose. Это подход, который используется в продакшене и позволяет создавать современные приложения, где экраны плавно переключаются, передают данные и корректно возвращаются назад. Мы начнем с самого начала: я покажу, как настроить Navigation Compose, чтобы буквально за несколько минут реализовать переключение […]

Смотреть урок →

Kotlin-практикум с Иваном Ветровым

Запишись бесплатно и получи приглашение на персональную работу

Бесплатная предзапись

Идет набор на персональный практикум — свободных мест: 8

  • Персональная работа с Иваном Ветровым 10 дней
  • 25 задач с персональным код-ревью
  • Настройка профессиональных инструментов
  • 3 проекта для портфолио + рекомендации
Подробнее про Onboarding
Специальное предложение - изучение Android разработки со скидкой