Kotlin Multiplatform Broadcast
9.48K subscribers
835 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
#KSP

So, how do I write a Kotlin Symbol Processor (KSP)?

Не так давно Google представила своё собственное решение Kotlin Symbol Processing, которая призвана стать заменой KAPT и ускорить процессинг аннотаций на 30-50%. Автор статьи делится своим опытом написания процессора на новой технологии.
Keeping public API in check with the Kotlin binary validator plugin

История применения Kotlin Binary compatibility validator, который форсирует проверку изменений в публичном API библиотеки, чтобы разработчики всегда знали о них
Forwarded from Android Broadcast
#Jetpack #Compose

Вышел Jetpack Compose 1.0, момент после которого уже нет отмазок и после которого Android разработка начнёт меняться.
Optimizing Your Kotlin Build

Kotlin везде, но скорость разработки с ним печалит. В статье рассказывается как то исправить и ускорить время ожидания билда
#KMM

Вышел KMM плагин для Android Studio 0.2.7

В новой версии плагина проделали много работы для улучшения работы с iOS, добавили поддержку Apple M1 симуляторов и исправили баги
#coroutines #flow

Atomic Updates on MutableStateFlow

Разбор атомарных обновление StateFlow, которые появились в Coroutines 1.5.1. Новая функция compareAndSet, которая позволит избежать проблем при параллельной модификации MutableSharedFlow
10 лет моему любимому языку - Kotlin! Всей команде языка и сообществу спасибо за эту технологию, ведь благодаря ей мы уменьшили объём кода и получили Compose.

📺 Смотрите документальный фильм о Kotlin!!!
#compose

Compose Multiplatform goes Alpha, unifying Desktop, Web, and Android UIs

👉 Compose Desktop и Web перешли в альфу
👉 Унификация разработки Desktop, Web и Android UI
👉 Релиз 1.0 собираются сделать в этом (2021) году
👉 Новые плагины для IDEA и Android Studio для Compose Multiplatform

Что нового в Compose Desktop:
👉 Composable Window APIs теперь используется по умолчанию
👉 Адаптивный размер окна
👉 Новые фичи для меню окон
👉 Поддержка контекстных меню
👉 Изменение поведения курсор и API для иконки курсора
👉 Модификатор Mouse Clickable
👉 Унификация ресурсов графики
👉 Поддержка Linux ARM64
Вышел Kotlin 1.5.30-RC

👉 Изменение в поведение @OptIn: обязательно использовать opt-in на всех помеченных API, запрещено использовать во множестве мест и другие ограничения
👉 ЭКСПЕРИМЕНТ: Возможность создания экземпляра аннотаций. Будет в Kotlin 1.6
👉 JS IR compiler backend в Beta
👉 Поддержка Java toolchain и JVM опций в Kotlin демоне в Gradle билд скриптах
👉 Новое экспериментальное API для Regex и Duration
#kmm #swift

Как сделать Swift-friendly API с Kotlin Multiplatform Mobile

Kotlin не имеет интеропа со Swift, а только Obj-C, но вот современные iOS проекты его не используют. Обеспечить удобное API из Kotlin всё равно нужно. Этому и посвящена статья
Вышел Timber 5.0

Популярная библиотека для логирования получила новую мажорную версию. Её переписали на Kotlin и оставили обратную бинарную совместимость с версией 4. В будущем планируется поддержка Kotlin Multiplatform.

Помимо этого теперь минимальное Android API стало 14, а Gradle - 7.0
#codequality

Вышел Detekt 1.18
👉 Новые правила
👉 Поддержка Kotlin 1.5.21
👉 Исправление багов
👉 Шаблон для авторов правил detekt-custom-rule-template
👉 Необходима миграция при использовании Gradle Detekt плагина
#kmm

Try Kotlin Multiplatform Mobile in AppCode for Free!

Попробуйте KMM плагин в AppCode на 4 месяца со вей IDE вместе бесплатно!
#coroutines

📺 Kotlin Coroutines: Important Answers from The Kotlin Team (7 мин)

Рассказ про что нас ждёт в Coroutines:
👉 Поддержка Project Loom
👉 Улучшение тестирования кода с Coroutine - Coroutines Testing Framework в 1.6
👉 Улучшения Flow
👉 Coroutine в Kotlin/Native с новой моделью памяти
Вышел Kotlin 1.5.30

🏗️ sealed when - ошибка компилятора, если пропустите значение enum или возможный подкласс sealed класс (будет в 1.6, но тестировать можно уже сейчас)
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Поддержка использовать suspend функций в качестве супертипа
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Улучшение работы с рекурсивными Generic типами
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Изменения в требованиях к использованию opt-in аннотации
👉 Поддержка создания экземпляра класса-аннотации в Kotlin/JVM
👉 Убраны ограничения выведения типа в build функциях (например buildList)
👉 Улучшения работы с nullablity - теперь можно выбирать будет ли у вас ошибка или предупреждение от компилятора
👉 Kotlin Multiplatform: Новые настройки публикации Android артефактов
👉 Поддержка Apple Silicon в Kotlin/Native
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Интероп с Swift 5.5 async/await
👉 JS IR compiler backend в Beta
👉 Gradle: поддержка Java toolchain
👉 Улучшения Duration & Regex API
#coroutines

Safe delay in Android Views: goodbye Handlers, Hello Coroutines!

Использование Handler для отложенных операций в Android - небезопасно. Они не имеют связи с жизненным циклом и могут приводить к утечкам памяти.

На замену автор предлагает использовать Kotlin Coroutines + Coroutine Scope из Android. Поддерживаю 2 руками
#вакансия

Mercury Development — компания из топ-8 Android-разработчиков США по версии Clutch. Один из самых интересных проектов в Меркури сейчас — американский фитнес-стартап, который разрабатывает мультифункциональный тренажер c ИИ под капотом. В команду, которая создает для тренажера мобильное приложение, нужны Android-разработчики из этих городов: Самара, Краснодар, Саратов, Тольятти.

Главное — опыт командной разработки приложений на Android от года, понимание жизненного цикла основных компонентов платформы, знание SQL и английский на уровне чтения технической документации.

Вот контакты, где можно узнать подробности и откликнуться:
✉️ job@mercdev.com
💬@Kate_Rinna

А тут о том, кто они такие и чем занимаются. Например, Меркури помогли разработать первые фитнес-трекеры для Fitbit — корпорации, которую недавно купил Google, софт для световых панелей, которые засветились в клипе Coldplay, мобильное приложение для Бургер Кинга и много чего еще крутого.
#DSL

Effective Kotlin Item 35: Consider defining a DSL for complex object creation

Руководство по созданию собственного DSL для описания создания сложных объектов или вложенных структур
#native

Try the New Kotlin/Native Memory Manager Development Preview

Стала доступна новая модель управления памяти в Kotlin/Native. Пока это лишь ранняя стадия, но она призвана решить ряд текущих сложностей, а именно теперь:
👉 Убраны ограничения на использование объектов из нескольких потоков
👉 Concurrent примитивы без дополнительного менеджмента со стороны разработчиков
👉 Больше не надо вызывать freeze(), за исключением AtomicReference

Всё это пока только в работе и новая модель памяти станет общедоступной в Kotlin 1.6
🔗 Руководство как попробовать новую модель управлением памятью
🔗 Обновленный пример с K/N Concyrrency

Все новые изменения - это большой шаг для решения многих сложностей, которые не даёт массовости для Kotlin под iOS и KMM
#coroutines

Coroutine builders

Разбор того как можно создать Coroutine (launch, async, runBlocking), какую роль в этом играет structured concurrency и CoroutineScope