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

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Forwarded from Android Broadcast (Кирилл Розов)
Разработчик тестирует AI для кода от JetBrains. Смотреть https://www.youtube.com/watch?v=mx4g7spK_WY
7👎1
Корутины выполняют работу асинхронно и параллельно (на тех платформах где это возможно). В части задач важна очередность выполнения корутин. В статье освещается какие подходы можно использовать: Job.join(), SharedFlow, CompletableDeferred

#coroutines
👍263👎3
This media is not supported in your browser
VIEW IN TELEGRAM
Стал доступен плагин Kotlin Notebook для IDEA - интерактивный инструмент, позволяющий комбинировать код, визуализации и текст в одном документе. Вы сможете быстро прототипировать, анализировать и работать с данными.

Если видите полезное применение в своей работе - делитесь в комментариях

#tooling
33🔥203👍3
В GitHub Kotlin уже вышла стабильная версия 1.9.0. Жду официального анонса и тогда расскажу деталей
🔥70👎73😢2
Вышел Kotlin 1.9.0
👉 Kotlin K2 комплиятор в Beta для JVM (Compose и KSP пока еще не поддерживают его). Теперь работает kapt с K2
👉 Новое свойство entries для enum class на замену values(). Лучше скорость работы и современный синтаксис. Подробности тут
👉 Стабильные data object
👉 Поддержка secondary constructor в inline value классах
👉 Превью нового механизма выделения памяти для объектов в Kotlin/Native
👉 Улучшения в Kotlin Multiplatform для работы с Android

#kotlin
👍40👎43🤔1
Видеообзор (19 мин) изменений в Kotlin 1.9.0

#kotlin
👍27👎4
В Gradle 8.2 для Kotlin DSL появилась возможность задавать свойства Gradle Property через оператор = вместо использования функций с именами

#gradle
🔥46👎6👏2
JetBrains опубликовала материалы курса по Kotlin для тех кто хочет учить этому языку других. Аналогичные материалы используют по всему миру в университетах! 11 лекций от базиса языка до корутин и тестирования

#kotlin
👍855👎4😭2
CashApp (бывшие Square) выпустили beta версию библиотеки Redwood для построения реактивного Android, iOS и Web UI с помощью Kotlin. Идея заключается в описании в Kotlin common коде элементов дизайн системы и последующей их реализации в платформенном модуле и все это потом собирается через мультиплатформенный Compose

#compose #jakewharton #kmm
👍38👎13🔥4🤔2
Используете lateinit в коже приложений (не тесты)?
Anonymous Poll
52%
Да
40%
Нет
8%
Не участвую в опросе
👎8
Kotlin Multiplatform Broadcast
Используете lateinit в коже приложений (не тесты)?
Ярый противник lateinit - это про меня! Стрельнуть в ногу с lateinit можно легко. Смотрите видео на тему https://youtu.be/0nXXUzMyF8c
👍47👎12
📺 Как собрать iOS-фреймворк из исходных файлов на Kotlin (24 мин)

Вячеслав рассказал, как собрать iOS-фреймворк из исходных файлов на Kotlin. Обсудил, какие типы фреймворков можно сгенерировать и чем они отличаются, а также рассмотрел, как фреймворк подключается в Xcode проект.

00:00 Вступление
01:38 Kotlin Multiplatform Mobile
02:36 Особенности KMM
04:11 Магические процессы фреймворка
10:40 Gradle
15:36 Universal Framework
17:19 XCFramework
22:22 Плагин для Android Studio
22:23 KDoctor
24:11 Заключение

#kmm #ios
👍22👎3
Kotlin Contracts - фича языка, которая позволяет описывать различные гарантии для вызовов методов и соответсвенно код пишется надежнее, а компилятор делает проверки строже, а выводы типов лучше!
👍56😐4👎1
Во всю идет разработка следующей версии (3.0) популярной библиотеки - Coil. Самое важное - появится поддержка Compose Multiplatform (Android, iOS, Web, Desktop). До релиза ещё не скоро, но занимается этим CashApp (бывшая Square)

Coil - библиотека для загрузки изображений, которая полностью сделана на Kotlin Coroutines. Версии 2.X работают только на Android

Источник новости тут

#kmp #compose
👍30🔥6👎1🎉1
Kotlin Coroutines требуют собственного подхода при работе с параллельными операциями. Например, вместо использования synchronised из Java надо использовать Mutex или делать синхронизацию через Channel.

В статье (17 мин) автор освещает Concurrent API Java и почему его не стоит использовать с корутинами в Kotlin или только в отдельных операциях

#coroutines #java
👍38👎3
Статья (EN, 4 мин) про разные сценарии использования sealed class и sealed interface с примерами. Иногда спрашивал такое на собесах и часть людей не отвечала
👍297👎4
Сделали расшифровку доклада Лёши Гладкова про актуально состояние Kotlin Multiplatform https://habr.com/ru/companies/usetech/articles/747926/

Мой совет - стоит, а вот с Compose Multiplatform для iOS осторожно. Пока там все очень сыро, хоть активно развивается JetBrains
👎14❤‍🔥10👍6
При необходимости получить значение в пределах какого-то диапазона разработчики используют функцию min и max, но в стандартной библиотеки Kotlin есть варианты изящнее:
👉 Number.coerceAtLeast(minValue: Number) - получить значений, но не меньше чем minValue
👉 Number.coerceAtMost(maxValue: Number) - получить значений, но не больше чем maxValue
👉 Number.coerceAtRange(minValue: Number, maxValue; Number) - получить значений, но не больше чем maxValue и не меньше чем minValue

coerce
в переводе с английского значит "принуждать", "заставлять"

Функции работают со всеми числами и Comparable типами
👍70👎61