Большая статья "Kotlin Coroutines. От А до Я" (28м)
Что внутри
👉 Шпаргалка по корутинам
👉 Зачем нужны корутины?
👉 Suspend в Котлин
👉 Библиотека kotlinx.corourines
👉 Три способа войти в корутинный мир. runBlocking, CoroutineScope и suspend main
👉 Область видимости корутины. CoroutineScope и GlobalScope
👉 CoroutineContext
👉 Job и Deferred
👉 Запуск корутины
👉 Dispatchers. Основные виды диспетчеров и их применения
👉 Способы обработок ошибок
👉 Отмена корутин
👉 Создание своего пользовательского CoroutineScope
#coroutines
Что внутри
👉 Шпаргалка по корутинам
👉 Зачем нужны корутины?
👉 Suspend в Котлин
👉 Библиотека kotlinx.corourines
👉 Три способа войти в корутинный мир. runBlocking, CoroutineScope и suspend main
👉 Область видимости корутины. CoroutineScope и GlobalScope
👉 CoroutineContext
👉 Job и Deferred
👉 Запуск корутины
👉 Dispatchers. Основные виды диспетчеров и их применения
👉 Способы обработок ошибок
👉 Отмена корутин
👉 Создание своего пользовательского CoroutineScope
#coroutines
🔥54👍18❤4
// build.gradle.kts
kotlin {
// Приведет к ошибке компиляции при нарушение
explicitApi = ExplicitApiMode.Strict
// Будет компилироваться, но в логах будет предупреждение
explicitApi = ExplicitApiMode.Warning
}
Очень классная и полезная фича для разработчиков библиотек и в многомодульной архитектуре Explicit API Mode в Kotlin. Включение этого флага приводит к
👉 Указание модификатора видимости становится обязательным, даже явно прописать public
👉 Все функции и свойства должны явно объявить возвращаемый тип, чтобы не полагаться на систему вывода типов
Я его использую потому что предпочитаю делать функции public в очень редких случаях, а обычно они internal и private. public только для того API что должно использоваться вне Gradle модуля/библиотеки.
#kotlin
2👍62👎4❤2🔥1
🤔34👎19👍5❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯20👍13🫡4👎3
👎22🔥15🤯7🤔3
Вышел KMMBridge 1.0 - утилита для публикации iOS XCFamework бинарники из KMP проекта. Релиз 1.0 сфокусировался на работе с Swift Package Manager (SPM)
#ios #spm #kmp
#ios #spm #kmp
🤯7👍4👎2🤬2
This media is not supported in your browser
VIEW IN TELEGRAM
Field Spottr - статья как автор сделал приложение с использованием KMP и Compose для Android и iOS. Опубликовано в Google Play и App Store
👉 Исходники на GitHub
#пример #android #ios #compose #kmp
👉 Исходники на GitHub
#пример #android #ios #compose #kmp
🔥20👎6🤯2👌2
Media is too big
VIEW IN TELEGRAM
Kopy - Gradle плагин который поможет делать копии вложенных экземпляров полей data классов. По умолчанию создаётся копия ссылки.
🤔32👍22🤯6👎2
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
1:16 Куда можно класть Kotlin файлы
3:39 Как разделить код по Gradle модулям
6:23 Несколько папок с исходным кодом
7:42 Пакеты с кодом
14:03 Выделение кода в AAR/JAR библиотеки
15:37 Заключение
Смотрите видео на разных площадках:
#AndroidBroadcast #видео #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29👎7🔥5
WebAssembly Garbage Collection (WasmGC) включили по умолчанию в WebKit - движок который лежит в основе Safari. Это важный шаг в поддержке Kotlin WASM и Compose Multiplatform для Web. PR с изменениями
Важно когда это изменение будет в Safari
Важно когда это изменение будет в Safari
👍27🔥7👎2
Писали ли вы что-то с генерацией Kotlin кода (Annotation Processing, KSP, KAPT, Gradle плагин) ?
Anonymous Poll
34%
Да
60%
Нет
6%
Не пишу код/Не участвую в опросе
👍5👎1
Какой CoroutineDispatcher используется в ViewModel по умолчанию?
Anonymous Quiz
27%
Default
38%
Main
31%
Main.immediate
5%
Unconfined
👍7❤3👎2
Какое минимальное количество потоков устанавливается в Dispatchers.IO?
Anonymous Quiz
44%
= количеству ядер процессора
12%
32
41%
64
4%
128
👍8👎2