Kotlin Multiplatform Broadcast
9.47K subscribers
821 photos
48 videos
1.09K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

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

📺 Как создать Kotlin Multiplatform Mobile проект (28 мин)

Демонстрация создания Kotlin Mobile Multiplatform проекта в Android Studio при помощи KMM плагина. Добавляются необходимые зависимости и прочая базовая настройка.
#Coroutines

Вышла новая версия kotlinx.coroutines 1.4.3 в которой произошли минорные улучшения и исправление багов
Вышла первая превью следующей версии Kotlin - 1.5.0

Первая превью не отметилась множеством нововведений, но вот краткий список:
👉 Конкатенация строка с помощью invokedynamic для JVM target 9+
👉 Поддержка Java records
👉 JVM target 1.6 теперь Deprecated
👉 Поддержка suspend функций в функциональных интерфейсах
👉 Возможность объявлять protected конструкторы в sealed классах
👉 Немного улучшений в IDE
👉 Улучшение производительность
👉 Исправление багов
#Coroutines #Flow

My MutableStateFlow Didn’t Emit!

Успели столкнуться с ситуацией, когда MutableStateFlow ничего не эмитет? Это может происходить, потому что StateFlow предварительно проверяет на то что новое и старое значение отличаются с помощью equals
Влияние data-классов на вес приложения - это эксперимент в котором оценивается вес в байтах на размер приложения от одной из самых популярных фичей Kotlin - data class.

В статье автор уделил много внимания написанию плагина компилятора для автоматизации теста, но всетаки результат был показан. На тысячах классов результат распакованного DEX - около примерно 1.5 мегабайта ~ 4% размера приложения (таблицу смотрите в статье).

Теперь прежде чем писать ключевое слово data у класса, задумайтесь так ли вам нужен этот функционал вам.
Reaction — обработка результатов методов в Kotlin

Демонстрация способа передачи между результата выполнения операции между слоями архитектуры
#Flow #Coroutines

The Best Way to Collect a Flow in Kotlin – launchIn

Flow имеет несколько способов как запустить сбор данных из цепочки, но автор рекомендуется Flow.launchIn(CoroutineScope).
Вышел Detekt 1.16.0 в котором как всегда обновили Kotlin до последней версии, исправили баги и завели пару новых проверок.
Kotlin Best Practices

Богат своими возможностями язык Kotlin, что повышает случаи его использования, которые приведут к нечитаемому коду и возникновению ошибок из-за этого. В статье разбирают что стоит делать и нет:
Объявление класса в одну строчку
Вложенный return
Анонимный параметр it в лямбдах
Цепочки безопасных вызовов ?.
Использовать !!
Использование Util классов
Используйте замыкающие запятые, например после последнего параметра метода
SAM
Изучайте стандартную библиотеку
Согласуйте code style
Kotlin. Лямбда vs Ссылка на функцию - сравнение и показ наглядных примеров
Compiling Kotlin in Runtime

Не всегда компиляции кода во время сборки нам достаточно чтобы реализовать все идеи. Почему бы тогда нам ни иметь возможность компилировать наш Kotlin код во время работы приложения? Например, скрипты или какой-то пользовательский код. В статье автор разбирает как это можно сделать
Android Parcelable: There's a better way

Расширение для Kotlinx Serialization, которое позволит сереализовать Parcelable из Android
Большой разговор с новым Kotlin Project Lead Романом Елизаровым

Разговор с Романом Елизаровым о его новой роли и команде Kotlin и дизайне языка. Можно узнать, например, такие вещи:
👉 Как принимаются решения, ломающие обратную совместимость?
👉 Чем философия Kotlin отличается от C# и почему?
👉 Насколько приоритетна производительность?
👉 Чем корутины в Kotlin отличаются от Project Loom в Java?
👉 Какой тренд влияет на языки прямо сейчас?
#Coroutines #Flow #Тестирование

Unit Testing Kotlin Flow

Еще раз про тестирование (Unit тесты) горячих и холодных Flow и какие опасности вам могут поджидать
#AndroidBroadcast

Как научиться программированию? Зачем мне кого-то обучать? Как устроиться на первую работу? На все эти вопросы буду отвечать сегодня во время прямого эфир.

Стартуем в 19.00 (GMT+3)
#Ktor #вебинар

📺 Ktor From the Ground Up (53 мин)

Вебинар про разработу бекенда на Ktor
#Coroutines

Are you handling exceptions in Kotlin coroutines properly?

Сложности обработки исключений при вызове Coroutine и как с этим справляться. Описать коротко не получится, надо читать статью всем
#Coroutines

The Fairest Kotlin Coroutines Operator

Особенности работы оператора combine в SharedFlow в однопоточном режиме