Kotlin Multiplatform Broadcast
9.48K subscribers
833 photos
53 videos
1.12K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
#coroutines

Leveraging the Semaphore concept in Coroutines to limit the parallelism

Реализация Semaphore для Coroutine подобно тому как это сделано в Java Concurrent. В KotlinX Coroutines 1.6 появилась возможность ограничить количество параллельно выполняющихся Coroutine в Disaptcher с помощью limitedParallelism(), вроде должно хватить всем вместоо создания Светофора
👍19
Новый опрос, касающийся программам раннего доступа к Kotlin. Пройти здесь
👍1
#kotlin1_7

📺 Kotlin Context Receivers (0.5 часа)

В Kotlin 1.6.20 появился прототип Context Receiver, новая возможность, которая ограничивает вызов функции. Раньше это делалось с помощью Extention Function либо создавали object, который все это ограничит.

Теперь будет полноценный синтаксис с несколькими this, да и автокомплит станет работать лучше, так как можно ограничить доступность top level функций
👍21
#tooling

Вышел detekt 1.20.0
👉 Новые правила (целых 16 штук)
👉 Возможность описывать стандартную конфигурацию для правил поверх которой можно делать независимые настройки у каждого пользователя
👉 Улучшение отчетов
👉 Исправление багов
👉 Поддержка Kotlin 1.6.20 и Gradle 7.4.2
👉 Обновление до KtLint 0.45.2
👍16
Effective Kotlin Item 33: Consider factory functions instead of secondary constructors

В главе из книги рассматривается как вместо использования нескольких конструкторов можно использовать фабричные функции в companion object, top level функции.
👍21
#library

Ktorfit - реализация аля Retrofit, только полностью на Kotlin с поддержкой Js, Jvm, Android, iOS, Linux. Вместо OkHttp под капотом Ktor, а Java Dynamic Proxy заменил на KSP.

Кстати, у меня на канале вышло видео как работает Retrofit
👍76🤔6👎2
#ksp

Android KSP guide for dummies by a Dummy: Part 1

Руководство по интеграции KSP вместо KAPT
👍11🔥1
#di

Set Up Koin Scope Access Illustrated (7 мин)

Разбор работы со Scope в Koin - самой популярной DI, написанной на Koin. Если вам нужно управлять временем жизни зависимостей в Koin, эта статья, то что вам нужно.
👍9👎2
#di

Isolate Koin Within an Android Module (6 мин)

Полезная статья как изолировать Koin в пределах вашей библиотеки/модуля и не зависеть от DI приложения куда подключается ваш код
👍13👎2🤔1
#kotlin

Вышла первая Beta Kotlin 1.7.0

Следующая версия Kotlin готовится к релизу. Жду стабильного релиза чтобы разбирать все изменения
🔥32👍5👎2
Forwarded from Android Broadcast
#testing #coroutines

Google обновила руководство по тестированию Coroutine с учетом изменений в библиотеке Kotlinx Coroutines 1.6:
👉 как вызывать suspend функции в тестах
👉 новые TestDispatcher
👉 подмена Dispatcher-ов
👉 тестовые CoroutineScope
👍12👎3
Результатом этого кода будет: AB

Увидел информацию об интересном резолве метода, который надо вызывать (информацию подтвердил Роман Елизаров).

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

Знали о таком поведении?
😱82👍35🤔13🤯8
#di

Koin 3.2

Koin 3.2 готовится к релизу и внутри вас ждет:
👉 Обновленное API для получения зависимостей для зависимостей в модулях (get() больше не будет). Подробности здесь
👉 Kotlin 1.6
👉 Обновление Android библиотек
👉 Исправление багов
👍32👎3
#coroutines

Kotlin, обрабатываем исключения в корутинах правильно

Разбор различных сценариев выполнение корутин и как в них обработать ошибки
👍20👎3🤩1
#stdlib

Kotlin — Lazy Thread-safety modes explained (3 мин)

Вы знаете что в Kotlin 3 режима работы lazy делегата? Причем по умолчанию вариант не всегда самый оптимальный для UI! Так вот в статье вам расскажут про это
👍29👎3🤔3
#kotlin

Вышел release candidate Kotlin 1.7.0, а значит скоро уже совсем новая стабильная версия любимого языка!
👍3415👎4🥰3
#AndroidBroadcast #Курс

Видео курс по Kotlin Coroutines уже на канале, который сделан при поддержке компании Revolut. Первый урок можно посмотреть уже сейчас, совсем скоро выложу второй, а до конца мая первые 5. Как минимум такая работа достойна вашей поддержки лайком на YouTube

Также вас будут ждать кодинг сессии решения задач на корутинах и Q&A сессии.
👍97🔥43👎81
#multiplatform

Speeding up Kotlin Multiplatform (3 мин)

Несколько советов для ускорения работы с KMP:
👉 Удалите ненужные таргеты для ускорения сборки
👉 Включите Gradle Config Cache
👉 Лучше используйте IntelliJ IDEA вместо AS
👍13👎3
Forwarded from Android Broadcast
#AndroidBroadcast #Coroutines #курс

📺 Курс по корутинам. Урок 2. CoroutineContext и его элементы (10 мин)

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

Если вам полезно то что я делаю, то проекту очень нужна ваша финансовая поддержка, чтобы и дальше выпускать контент. Сделать это можно на Boosty
🔥62👍7👎6
#Coroutines #курс #AndroidBroadcast

📺 Курс по корутинам. Урок 3. Structured concurrency (11 мин)

Из урока вы узнаете
👉 Как управлять корутинами в пределах скоупа
👉 Какую роль играет structured concurrency в этом
👉 Чем опасен GlobalScope
👉 Как создать CoroutineScope

Весь курс, который сделан при поддержке компании Revolut, можно найти здесь

Если хотите больше интересного контента по Android, получать ранний доступ и эксклюзивный контент, тогда поддержите проект монетой на Boosty.
🔥40👍10👎2
#coroutines #курс #AndroidBroadcast

📺 Обработка ошибок в корутинах (7 мин)

В новой части курса вы узнаете о том как обрабатывать ошибки, какие есть способы и подводные камни.

Все видео курса, который сделан при поддержке компании Revolut, можно найти здесь

Хотите больше контента и ранний доступ — поддержите проект монетой на Boosty
👍52👎5