Разработка простого iOS-приложения на SwiftUI в соответствии с принципами чистой архитектуры.
Использование чистой архитектуры позволяет разрабатывать приложения с очень низкой связью и независимо от деталей технической реализации, таких как базы данных и фреймворки. Таким образом, приложение становится простым в обслуживании и гибким для изменений. Кроме того, оно становится внутренне тестируемым. Здесь я покажу, как я структурирую свои проекты с чистой архитектурой. На этот раз мы собираемся создать приложение для iOS с использованием SwiftUI. Мы проиллюстрируем только один вариант использования - вывод списка дел, полученных из API. Давайте начнем.
https://paulallies.medium.com/clean-architecture-in-the-flavour-of-swiftui-5-5-8430786a83
Использование чистой архитектуры позволяет разрабатывать приложения с очень низкой связью и независимо от деталей технической реализации, таких как базы данных и фреймворки. Таким образом, приложение становится простым в обслуживании и гибким для изменений. Кроме того, оно становится внутренне тестируемым. Здесь я покажу, как я структурирую свои проекты с чистой архитектурой. На этот раз мы собираемся создать приложение для iOS с использованием SwiftUI. Мы проиллюстрируем только один вариант использования - вывод списка дел, полученных из API. Давайте начнем.
https://paulallies.medium.com/clean-architecture-in-the-flavour-of-swiftui-5-5-8430786a83
👍3
Как записывать и воспроизводить http-трафик в приложениях для Android и iOS
С 2022 года я присоединился к небольшому, но амбициозному стартапу (mobile .dev), целью которого является создание столь необходимой инфраструктуры для мобильной разработки.
Мы анализируем приложения и проводим сравнительные тесты производительности для выявления проблем до начала производства, а в некоторых случаях нам требуются инструментальные тесты с подражанием сети.
Моя первая задача? Выяснить, можем ли мы сами поиздеваться над сетью, чтобы облегчить использование нашего продукта. Создавать и поддерживать инструментальные тесты с имитацией сети всегда непросто - поэтому мы хотели взять эту ответственность на себя.
https://itnext.io/how-to-record-replay-http-traffic-in-android-and-ios-apps-db24a5dcc0e
С 2022 года я присоединился к небольшому, но амбициозному стартапу (mobile .dev), целью которого является создание столь необходимой инфраструктуры для мобильной разработки.
Мы анализируем приложения и проводим сравнительные тесты производительности для выявления проблем до начала производства, а в некоторых случаях нам требуются инструментальные тесты с подражанием сети.
Моя первая задача? Выяснить, можем ли мы сами поиздеваться над сетью, чтобы облегчить использование нашего продукта. Создавать и поддерживать инструментальные тесты с имитацией сети всегда непросто - поэтому мы хотели взять эту ответственность на себя.
https://itnext.io/how-to-record-replay-http-traffic-in-android-and-ios-apps-db24a5dcc0e
❤1
Android_Apprentice_Third_Edition_Beginning_Android_Development_with.pdf
72.9 MB
Android Apprentice (2020)
Авторы: Darryl Bayliss, Tom Blankenship, Fuad Kamal, Namrata Bandekar
Изучение программирования под Android может быть сложной задачей, особенно если у вас нет опыта программирования. Конечно, документации предостаточно, но инструменты и библиотеки, доступные сегодня, не так просто поддаются изучению. В данной книге используется особый подход: авторы учат программированию, переходя от простого к сложному, начиная с создания простого первого приложения и заканчивая полнофункциональным проигрывателем подкастов.
В книге рассматриваются следующие темы:
✔️Установка IDE;
✔️Макеты;
✔️Дебаггинг;
✔️Интеграция с API Google;
✔️Работа с интернетом;
✔️И многие другие.
Авторы: Darryl Bayliss, Tom Blankenship, Fuad Kamal, Namrata Bandekar
Изучение программирования под Android может быть сложной задачей, особенно если у вас нет опыта программирования. Конечно, документации предостаточно, но инструменты и библиотеки, доступные сегодня, не так просто поддаются изучению. В данной книге используется особый подход: авторы учат программированию, переходя от простого к сложному, начиная с создания простого первого приложения и заканчивая полнофункциональным проигрывателем подкастов.
В книге рассматриваются следующие темы:
✔️Установка IDE;
✔️Макеты;
✔️Дебаггинг;
✔️Интеграция с API Google;
✔️Работа с интернетом;
✔️И многие другие.
👍4
Нужно ли думать о сохранении состояния, если приложение поддерживает только портретную ориентацию?
– Да.
Поворот экрана – это частный случай Configuration Changes. Другой пример – изменение языка системы.
Кроме того, как было упомянуто постом выше, система может уничтожить активити, чтобы использовать занятые ей ресурсы. В этом случае состояние сохраняется и восстанавливается при пересоздании активити.
#State
– Да.
Поворот экрана – это частный случай Configuration Changes. Другой пример – изменение языка системы.
Кроме того, как было упомянуто постом выше, система может уничтожить активити, чтобы использовать занятые ей ресурсы. В этом случае состояние сохраняется и восстанавливается при пересоздании активити.
#State
Telegram
Мобильная разработка #1
Activity: Как пережить поворот экрана?
При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки onPause(), onStop(), onSaveInstanceState(), onDestroy() – onCreate(), onStart(), onRestoreInstanceState(), onResume().
Чтобы сохранить…
При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки onPause(), onStop(), onSaveInstanceState(), onDestroy() – onCreate(), onStart(), onRestoreInstanceState(), onResume().
Чтобы сохранить…
Android - 9 полезных операторов Kotlin Flow, которые необходимо знать
https://blog.canopas.com/android-9-useful-kotlin-flow-operators-you-need-to-know-b9daef4b630f
#Android #Kotlin
https://blog.canopas.com/android-9-useful-kotlin-flow-operators-you-need-to-know-b9daef4b630f
#Android #Kotlin
Fragment
Fragment используется для отображения части UI на экране. Фрагмент создается внутри активити или внутри другого фрагмента.
Для создания и управления фрагментами используется FragmentManager.
Класс-наследник класса Fragment должен иметь дефолтный конструктор без параметров. Система использует этот конструктор при пересоздании фрагмента.
Начиная с API v28 системный класс Fragment – deprecated. Рекомендуется использовать Fragment из Support Library.
#Fragment
Fragment используется для отображения части UI на экране. Фрагмент создается внутри активити или внутри другого фрагмента.
Для создания и управления фрагментами используется FragmentManager.
Класс-наследник класса Fragment должен иметь дефолтный конструктор без параметров. Система использует этот конструктор при пересоздании фрагмента.
Начиная с API v28 системный класс Fragment – deprecated. Рекомендуется использовать Fragment из Support Library.
#Fragment
Стоит ли изучать Swift? Как меняются правила IT сферы в новых условиях?
Обсудим на бесплатном вебинаре от SwiftBook, а также расскажем какие навыки нужны, чтобы освоить профессию iOS-разработчика.
Регистрируйся и получи в подарок:
➕ книгу «The Swift Programming Language» от Apple на русском
➕ экипировку iOS-разработчика
Ждём тебя! Ссылка на регистрацию ➤ здесь
Обсудим на бесплатном вебинаре от SwiftBook, а также расскажем какие навыки нужны, чтобы освоить профессию iOS-разработчика.
Регистрируйся и получи в подарок:
➕ книгу «The Swift Programming Language» от Apple на русском
➕ экипировку iOS-разработчика
Ждём тебя! Ссылка на регистрацию ➤ здесь
👍1
50 вопросов и ответов для собеседования по Swift в 2022 году
Перед вами список из 50 вопросов и ответов для собеседования по Swift. Эти вопросы посвящены программированию на Swift и разработке приложений для iOS. Вы должны знать ответы на них, прежде чем у вас появится шанс продемонстрировать свои навыки перед интервьюером.
Кроме того, не стесняйтесь использовать эти вопросы для собеседования по Swift для тренировки перед экзаменом.
Эти вопросы для собеседования расположены в случайном порядке, а не от простого к сложному.
Перед вами список из 50 вопросов и ответов для собеседования по Swift. Эти вопросы посвящены программированию на Swift и разработке приложений для iOS. Вы должны знать ответы на них, прежде чем у вас появится шанс продемонстрировать свои навыки перед интервьюером.
Кроме того, не стесняйтесь использовать эти вопросы для собеседования по Swift для тренировки перед экзаменом.
Эти вопросы для собеседования расположены в случайном порядке, а не от простого к сложному.
👍3
Weekend Offer для мобильных разработчиков пройдет уже 23–24 апреля
Получите оффер в команду VK Teams всего за одни выходные, а ещё – дополнительную зарплату на старте.
Команда поставляет мессенджер VK Teams on-premise на серверах для крупных компаний, а также предоставляет SaaS-решение для среднего и малого бизнеса.
Смотрите видеоприглашение и регистрируйтесь на сайте до 22 апреля, с вами свяжутся и введут в курс дела. Удачи!
Получите оффер в команду VK Teams всего за одни выходные, а ещё – дополнительную зарплату на старте.
Команда поставляет мессенджер VK Teams on-premise на серверах для крупных компаний, а также предоставляет SaaS-решение для среднего и малого бизнеса.
Смотрите видеоприглашение и регистрируйтесь на сайте до 22 апреля, с вами свяжутся и введут в курс дела. Удачи!
Подборка каналов для IT специалистов 🎯
Вакансии 📌
https://t.me/progjob Вакансии для программистов
Системное администрирование 📌
https://t.me/i_DevOps Все для DevOps
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv GameDev: разработка игр
Программирование, Биг дата, книги 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/coddy_academy Академия кода
Шутки программистов 📌
https://t.me/itumor ITumor | программисты шутят
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Вакансии 📌
https://t.me/progjob Вакансии для программистов
Системное администрирование 📌
https://t.me/i_DevOps Все для DevOps
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv GameDev: разработка игр
Программирование, Биг дата, книги 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/coddy_academy Академия кода
Шутки программистов 📌
https://t.me/itumor ITumor | программисты шутят
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
👍3
Разработка для встроенных систем с использованием Swift
В последние годы встроенная разработка становится все сложнее из-за быстрого развития оборудования. Вся отрасль остро нуждается в каких-то новых способах улучшить ситуацию. Но все равно результата нет. И Swift действительно подходит для такого случая использования.
https://apptractor.ru/info/articles/razrabotka-dlya-vstroennyh-sistem-s-ispolzovaniem-swift.html
В последние годы встроенная разработка становится все сложнее из-за быстрого развития оборудования. Вся отрасль остро нуждается в каких-то новых способах улучшить ситуацию. Но все равно результата нет. И Swift действительно подходит для такого случая использования.
https://apptractor.ru/info/articles/razrabotka-dlya-vstroennyh-sistem-s-ispolzovaniem-swift.html
👍1
Самоучитель по архитектуре MVI для Android
Узнайте об архитектурном паттерне MVI (Model-View-Intent) и приготовьтесь применить его в своем следующем приложении для Android.
Разработчики могут выбрать один из нескольких архитектурных паттернов для создания масштабируемых и поддерживаемых приложений, таких как MVC, MVP и MVVM. В этом учебнике вы узнаете о совершенно другом архитектурном паттерне.
Мы рассмотрим:
Что такое MVI и как он работает.
Слои архитектурного паттерна MVI.
Как работает однонаправленный поток в приложении Android.
Как MVI улучшает тестируемость вашего приложения, предоставляя предсказуемые и тестируемые состояния.
Преимущества и недостатки использования MVI по сравнению с другими архитектурными паттернами.
https://www.raywenderlich.com/817602-mvi-architecture-for-android-tutorial-getting-started
Узнайте об архитектурном паттерне MVI (Model-View-Intent) и приготовьтесь применить его в своем следующем приложении для Android.
Разработчики могут выбрать один из нескольких архитектурных паттернов для создания масштабируемых и поддерживаемых приложений, таких как MVC, MVP и MVVM. В этом учебнике вы узнаете о совершенно другом архитектурном паттерне.
Мы рассмотрим:
Что такое MVI и как он работает.
Слои архитектурного паттерна MVI.
Как работает однонаправленный поток в приложении Android.
Как MVI улучшает тестируемость вашего приложения, предоставляя предсказуемые и тестируемые состояния.
Преимущества и недостатки использования MVI по сравнению с другими архитектурными паттернами.
https://www.raywenderlich.com/817602-mvi-architecture-for-android-tutorial-getting-started
👍2
OAuth в мобильных приложениях
Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используются открытые API, где для авторизации используется OAuth.
Поэтому разработчикам мобильных приложений приходится работать с OAuth. В сети по этой теме есть разные материалы.
В этой статье я попробую структурированно закрыть нюансы OAuth в мобильных приложениях: на какие моменты стоит обратить внимание, какие способы реализации выбрать. А также поделюсь опытом настройки OAuth в Android-приложении с использованием библиотеки AppAuth.
Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используются открытые API, где для авторизации используется OAuth.
Поэтому разработчикам мобильных приложений приходится работать с OAuth. В сети по этой теме есть разные материалы.
В этой статье я попробую структурированно закрыть нюансы OAuth в мобильных приложениях: на какие моменты стоит обратить внимание, какие способы реализации выбрать. А также поделюсь опытом настройки OAuth в Android-приложении с использованием библиотеки AppAuth.
👍3
Подборка интересных каналов 🔥
DeepFake
На канале публикуем deepfake видео и связанные с ними технологии.
https://t.me/deepfakenow
Мир технологий (Technology World)
Добро пожаловать в мир технологий
https://t.me/mir_teh
GitHub Сообщество
https://t.me/Githublib
Реальный Python
Все о пайтон, новости, подборки на русском и английском.
https://t.me/python_real
BigData
Data Science : Big Data : Machine Learning : Deep Learning
https://t.me/bigdata_1
Базы данных (Data Base)
https://t.me/database_info
Книги для программистов Rus
https://t.me/book_for_dev
DevOps
Пишем о Docker, Kubernetes и др.
https://t.me/i_DevOps
Типичный Сисадмин
Админский юмор, фото железа, было/стало, все здесь!
https://t.me/tipsysdmin
Python академия
Учи Python быстро и легко.
https://t.me/pythonofff
Coddy
Академия кода.
https://t.me/coddy_academy
Bitkoinoff - новости криптовалют
Все самое важное о криптовалютах и блокчейне
https://t.me/bitkoinoff
Сообщество Дизайнеров
https://t.me/ux_web
GameDev: разработка игр
https://t.me/game_devv
DeepFake
На канале публикуем deepfake видео и связанные с ними технологии.
https://t.me/deepfakenow
Мир технологий (Technology World)
Добро пожаловать в мир технологий
https://t.me/mir_teh
GitHub Сообщество
https://t.me/Githublib
Реальный Python
Все о пайтон, новости, подборки на русском и английском.
https://t.me/python_real
BigData
Data Science : Big Data : Machine Learning : Deep Learning
https://t.me/bigdata_1
Базы данных (Data Base)
https://t.me/database_info
Книги для программистов Rus
https://t.me/book_for_dev
DevOps
Пишем о Docker, Kubernetes и др.
https://t.me/i_DevOps
Типичный Сисадмин
Админский юмор, фото железа, было/стало, все здесь!
https://t.me/tipsysdmin
Python академия
Учи Python быстро и легко.
https://t.me/pythonofff
Coddy
Академия кода.
https://t.me/coddy_academy
Bitkoinoff - новости криптовалют
Все самое важное о криптовалютах и блокчейне
https://t.me/bitkoinoff
Сообщество Дизайнеров
https://t.me/ux_web
GameDev: разработка игр
https://t.me/game_devv
👍1👏1🎉1
Работа с клавиатурой в Jetpack Compose
Ввод данных - важная задача во многих приложениях. На устройствах без физической клавиатуры (а таких в стране Android подавляющее большинство) вводом данных занимается так называемая программная клавиатура. Теперь вы можете задаться вопросом, зачем вообще нужно говорить об этих виртуальных периферийных устройствах? Разве операционная система не должна позаботиться об этом? Я имею в виду, что с точки зрения пользовательского интерфейса приложение выражает свое желание разрешить пользовательский ввод, показывая и настраивая редактируемое текстовое поле. Что еще нужно сделать? В этой статье мы подробно рассмотрим, как приложения Jetpack Compose взаимодействуют с клавиатурой.
Ввод данных - важная задача во многих приложениях. На устройствах без физической клавиатуры (а таких в стране Android подавляющее большинство) вводом данных занимается так называемая программная клавиатура. Теперь вы можете задаться вопросом, зачем вообще нужно говорить об этих виртуальных периферийных устройствах? Разве операционная система не должна позаботиться об этом? Я имею в виду, что с точки зрения пользовательского интерфейса приложение выражает свое желание разрешить пользовательский ввод, показывая и настраивая редактируемое текстовое поле. Что еще нужно сделать? В этой статье мы подробно рассмотрим, как приложения Jetpack Compose взаимодействуют с клавиатурой.
👍1
Улучшенное кеширование с Kotlin Flow и reduce функцией
Я работаю над снижением нагрузки на нашу базу данных, сосредоточившись на различных решениях по кэшированию. В идеальном мире данные, которые являются "статичными", будут в значительной степени кэшироваться; при этом требуется минимальное взаимодействие с базой данных. Однако это не тот мир, в котором я живу. Каждый запрос к нашему GraphQL API приводит к прямому обращению к базе данных. Уф!
#Kotlin
Я работаю над снижением нагрузки на нашу базу данных, сосредоточившись на различных решениях по кэшированию. В идеальном мире данные, которые являются "статичными", будут в значительной степени кэшироваться; при этом требуется минимальное взаимодействие с базой данных. Однако это не тот мир, в котором я живу. Каждый запрос к нашему GraphQL API приводит к прямому обращению к базе данных. Уф!
#Kotlin
👍1
Что действительно важно знать о трудоустройстве за границей
Митап с Senior Technical HR Lead Amazon Эльвирой Шустровой
🤔 Кто лучше всего знает, как айтишнику устроиться в зарубежную компанию? Конечно же, HR, который ежедневно нанимает технических специалистов.
В эту среду вы узнаете секреты трудоустройства в крупные зарубежные компании из первых рук — от International Tech Recruiter Эльвиры Шустровой (USA).
Обсудим:
👉 Что лучше: размещать резюме на HR-сайтах и ждать, что тебя заметят, или сразу стучаться в компании, которые близки по духу?
👉 Какие отличия есть в оформлении резюме (CV) для российских и зарубежных работодателей? Чем отличается процесс интервью?
👉 Насколько точно по навыкам должен совпадать соискатель с запросом компании? Если я не соответствую всему списку требований — это провал?
👉 Как устроиться в Amazon на удалёнку тестировщиком? А junior-разработчиком?
... и огромное количество других вопросов о том, как русскоязычному айтишнику устроиться в зарубежную компанию.
🎙 О спикере: Эльвира Шустрова более пяти лет она живёт в США и занимается наймом технических специалистов в международные компании. В её послужном списке ЦФТ, Unlimint (CardPay), Amazon и другие известные бренды.
🗓 Когда: 27 апреля (среда) в 19:00 мск
📍 Где: митап пройдёт в онлайне в телеграм-канале RelocationDEV. Подписывайтесь на канал, чтобы не пропустить начало трансляции.
До встречи в среду!😉
Митап с Senior Technical HR Lead Amazon Эльвирой Шустровой
🤔 Кто лучше всего знает, как айтишнику устроиться в зарубежную компанию? Конечно же, HR, который ежедневно нанимает технических специалистов.
В эту среду вы узнаете секреты трудоустройства в крупные зарубежные компании из первых рук — от International Tech Recruiter Эльвиры Шустровой (USA).
Обсудим:
👉 Что лучше: размещать резюме на HR-сайтах и ждать, что тебя заметят, или сразу стучаться в компании, которые близки по духу?
👉 Какие отличия есть в оформлении резюме (CV) для российских и зарубежных работодателей? Чем отличается процесс интервью?
👉 Насколько точно по навыкам должен совпадать соискатель с запросом компании? Если я не соответствую всему списку требований — это провал?
👉 Как устроиться в Amazon на удалёнку тестировщиком? А junior-разработчиком?
... и огромное количество других вопросов о том, как русскоязычному айтишнику устроиться в зарубежную компанию.
🎙 О спикере: Эльвира Шустрова более пяти лет она живёт в США и занимается наймом технических специалистов в международные компании. В её послужном списке ЦФТ, Unlimint (CardPay), Amazon и другие известные бренды.
🗓 Когда: 27 апреля (среда) в 19:00 мск
📍 Где: митап пройдёт в онлайне в телеграм-канале RelocationDEV. Подписывайтесь на канал, чтобы не пропустить начало трансляции.
До встречи в среду!😉
👍4
Media is too big
VIEW IN TELEGRAM
Kotlin, как работает suspend под капотом
Как компилятор преобразует suspend код, чтобы корутины можно было приостанавливать и возобновлять?
Корутины в Kotlin представлены ключевым словом suspend. Интересно, что там происходит внутри? Как компилятор преобразует suspend блоки в код, поддерживающий приостановку и возобновление работы корутины?
Знание этого поможет понимать, почему suspend функция не возвращает управление, пока не завершится вся запущенная работа и как код может приостановить выполнение без блокировки потоков. Подробнее
#Kotlin #suspend
Как компилятор преобразует suspend код, чтобы корутины можно было приостанавливать и возобновлять?
Корутины в Kotlin представлены ключевым словом suspend. Интересно, что там происходит внутри? Как компилятор преобразует suspend блоки в код, поддерживающий приостановку и возобновление работы корутины?
Знание этого поможет понимать, почему suspend функция не возвращает управление, пока не завершится вся запущенная работа и как код может приостановить выполнение без блокировки потоков. Подробнее
#Kotlin #suspend