• Форумы
  • Складчины
  • Программирование

[Startandroid] Kotlin (Дмитрий Виноградов)

Найти складчину
  • Курс создан: Дата начала 4 Авг 2021
В избранное
Зарегистрируйтесь, чтобы посмотреть контент
Организатор
Организую Складчины
Команда форума
Сообщения
658 470
Реакции
15 179
Монеты
325
Оплачено
1
  • 4 Авг 2021
  • #1
Ссылка на картинку
Почему Котлин
Мое знакомство с Котлин началось на Google IO 17. Уже тогда стало понятно, что имеет смысл, как минимум, обратить на этот язык внимание. А еще лучше - изучить его. Я потратил пару недель на официальные доки и примеры, чтобы усвоить основы. А затем периодически почитывал статьи с medium, чтобы разобраться в более сложных вещах. Спустя полгода я без особых проблем влился в новый проект на Котлине. И вот уже два года я пишу только на нем.
Гугл официально признал Котлин, использует его для примеров в документации, создает курсы и codelabs по нему, встраивает его поддержку в свои библиотеки и фреймворки. Статьи на medium.com уже практически все с примерами на Котлин. Ну и в вакансиях он встречается все чаще
В общем, как мне кажется, вопрос "Изучать ли Котлин?" уже нет смысла обсуждать.
О чем курс
Сразу скажу, что курс не для полных новичков. На официальном сайте Котлин есть хорошая документация и инструменты, чтобы изучить и попрактиковать основы. Кроме этого есть куча учебной литературы для начинающих. Поэтому я решил рассматривать только темы, понимание которых может оказаться сложным. Это такие темы, как Coroutines, DSL, Inline functions, Operator overloading, Delegated properties и прочие непростые штуки.
Соответственно, для лучшего понимания курса лучше уже иметь хотя бы небольшой опыт работы с Котлин. Так будет легче понять материал.
Первой темой курса будут корутины. Я планирую рассмотреть следующие вопросы:
- почему suspend функции не блокируют поток
- как создать suspend функцию
- что такое Continuation, Job, Scope, корутина, диспетчер
- что происходит внутри билдеров
- чем билдеры отличаются друг от друга
- как изнутри работает связь между родительской и дочерней корутиной
- как происходит обработка ошибок
- как использовать корутины в Android
По мере написания курса буду обновлять этот список.
Содержание курса
Урок 1. Корутины. Введение.
В этом уроке начнем разбираться, что такое корутина и suspend функция.
Урок 2. Корутины. Continuation
В этом уроке разберем, что такое Continuation и как suspend функция приостанавливает код, не блокируя поток.
Урок 3. Корутины. Suspend функции
В этом уроке подробно разберем как создать suspend функции. Также рассмотрим, можно ли блокировать поток, как корутина может потеряться и зачем нужно слово suspend.
Урок 4. Корутины. Continuation, возврат значений.
В этом уроке рассмотрим более подробно, как Continuation обрабатывает ответ от suspend функций. А также, как корутина может вернуть какое-либо значение, как результат своей работы.
Урок 5. Корутины. Suspend функции изнутри.
В этом уроке разбираем, как работает suspend функция изнутри. Как она может вернуть значение сразу или после асинхронной работы.
Урок 6. Корутины. Job.
В этом уроке начинаем разбираться, что из себя представляет корутина. Из каких объектов она состоит и что происходит во время ее выполнения.
Урок 7. Корутины. Scope.
В этом уроке рассмотрим, что такое Scope и как создать его самый простой вариант.
Урок 8. Корутины. Отмена.
В этом уроке запускаем и отменяем корутины. Проверяем, как корутины влияют на основной поток.
Урок 9. Корутины. Билдеры launch и async.
В этом уроке рассмотрим билдеры launch и async. Как ведут себя вложенные корутины. Как дождаться окончания работы корутины, и как получить результат этой работы. Как создать отложенную корутину и запустить ее позже. Как распараллеливать задачи с помощью корутин.
Урок 10. Корутины. Context.
В этом уроке разбираемся с Context. Какие его элементы используются по умолчанию. Как создавать свой элемент. Как происходит передача элементов в контекст создаваемой корутины.
Урок 11. Корутины. Dispatcher.
В этом уроке рассмотрим основные виды диспетчеров. Также поговорим о том, что происходит под капотом корутин при использовании диспетчера.
Урок 12. Корутины. Связь между родительской и дочерней корутиной.
В этом уроке разбираемся, как создается дочерняя корутина. Рассмотрим, как формируется ее контекст, и как работает ее связь с родительской корутиной.
Урок 13. Корутины. Обработка исключений.
В этом уроке рассмотрим как можно обработать исключения, возникающие в корутине. Разберем, что происходит под капотом и как работает CoroutineExceptionHandler.
Урок 14. Корутины. Обработка исключений. Вложенные корутины.
В этом уроке продолжаем обсуждать обработку исключений на примере вложенных корутин.
Урок 15. Корутины. Обработка исключений. Async, suspend.
В этом уроке разбираемся к чему приводят исключения в async корутине и в suspend функциях.
Урок 16. Корутины. Отмена - это ошибка.
В этом уроке обсуждаем как работает отмена корутин под капотом.
Урок 17. Корутины. coroutineScope, supervisorScope, withContext, runBlocking.
В этом уроке обсуждаем функции coroutineScope, supervisorScope, withContext, runBlocking.
Урок 18. Корутины. Каналы.
В этом уроке разбираемся как работают каналы. Что под капотом, закрытие и отмена канала, буфер, produce, consume, broadcast.
Урок 19. Корутины. Flow.
В этом уроке разбираемся что такое Flow, как он работает под капотом и чем отличается от каналов.
Урок 20. Корутины. Flow. Билдеры и простые операторы.
В этом уроке рассмотрим способы создания Flow, простые операторы и создание своих операторов.
Урок 21. Корутины. Flow. Операторы channelFlow, flowOn, buffer, produceIn.
В этом уроке рассматриваем операторы channelFlow, flowOn, buffer, produceIn.
Урок 22. Корутины. Flow. Ошибка, отмена, повтор.
В этом уроке рассматриваем операторы catch, retry, retryWhen и возможность отмены Flow.
Урок 23. Корутины. Практика. Scope, LiveData.
В этом уроке рассматриваем билдер liveData и операторы для получения scope: viewModelScope, lifecycleScope, MainScope.
Урок 24. Корутины. Практика. Retrofit.
В этом уроке рассматриваем интеграцию корутин в Retrofit.
Урок 25. Корутины. Практика. Room
В этом уроке рассматриваем интеграцию корутин в Room.
Урок 26. Корутины. Практика. Примеры использования.
В этом уроке используем корутины в несложных примерах с репозиторием и UseCase
Урок 27. Корутины. Практика. Параллельная работа.
В этом уроке мы вызываем suspend функции параллельно, а не последовательно.
Урок 28. Корутины. Flow. SharedFlow и StateFlow.
В этом уроке подробно разбираем что такое SharedFlow и StateFlow.
Смотреть далее...
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть авторский контент.
startandroid дмитрий виноградов корутины котлин
Похожие складчины
Скачать Android... это несложно. Разработка приложений и cоздание игр для ОС Android (Дмитрий Виноградов)
  • android cоздание игр вера видеокурс вопрос дмитрий виноградов задачи инструмент обзоры опыт пользователь приложения принципы проблемы программирование разработка разработчик ресурс технологии уроки экран элементы
  • 6 Авг 2021
Ответы
0
Просмотры
257
6 Авг 2021
Организатор
Скачать [Udemy] Android профессиональный уровень. Kotlin 2023 (Андрей Сумин)
  • andrey sumin android android профессиональный уровень android разработка anti adblock for wordpress deblocker kotlin udemy автор глушков автор дмитрий шумейко андрей сумин андроид котлин мобильная разработка
  • 22 Фев 2023
Ответы
0
Просмотры
494
22 Фев 2023
Организатор
Скачать [ITVDN] Frontend Developer 2020(Владимир Виноградов, Александр Петрик)
  • frontend developer itvdn автор александр петрик автор владимир виноградов програмирование
  • 31 Июл 2021
Ответы
0
Просмотры
236
31 Июл 2021
Организатор
Скачать [ks education] Станьте программистом 1С с нуля (Олег Панковец, Илья Виноградов, Мария Перевертайло)
  • ks education алена рейес взрыв охватов илья виноградов инстафабрика катя раевская марафон мария перевертайло олег панковец станьте программистом 1с с нуля
  • 11 Сен 2022
Ответы
0
Просмотры
184
11 Сен 2022
Организатор
Скачать [Слёрм] Микросервисы и API на Java и Kotlin (Дмитрий Горчаков)
  • api api на java и kotlin java kotlin автор надя андреева микросервисы радуга на тарелке слёрм школа светлячков
  • 25 Июн 2022
Ответы
0
Просмотры
285
25 Июн 2022
Организатор
Найти больше схожих складчин

Зарегистрируйте учетную запись

У вас появится больше возможностей!

Создать учетную запись

Пройдите быструю регистрацию

Регистрация

Войти

Уже зарегистрированы? Войдите.

Вход
  • Форумы
  • Складчины
  • Программирование
  • Novus
  • Russian (RU)
  • Обратная связь
  • Условия и правила
  • Политика конфиденциальности
  • Справка
Меню
Вход

Регистрация

  • Форумы
  • Что нового?