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
#Coroutines

Coroutines Job Structures

Связь между coroutine и CoroutineScope осуществляется через Job. Эти отношения определяют, как библиотека будет отменять выполнение coroutine.

В статье разбирается несколько примеров, демонстрирующих работы как отношения между Job влияют на поведение отмены coroutine.
#Compose #Ktor

Composing in the wild (8 минут чтения)

Пример нестандартного использования Compose на backend. Механизм на основе которого построено решение может быть использован не только для решения задачи декларативного UI, но и для эффективного построения и поддержки древоподобных структур данных.

В статье разбирается пример использования Compose для построения DOM, а именно HTML и CSS и отправки этого на клиент.
#Multiplatform #iOS

Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile

Организация sourceSet для iOS в KMP проектах с учетом различных архитектур процессоров и как в этом помогает утилита Commonizer из Kotlin 1.4
#Coroutines

7 Gotchas When Explore Kotlin Coroutine

Coroutine - это подход в асинхронном программировании, который был непривычен для меня, Android разработчика. В своё время я совершил много ошибок, пока осознавал правильный способ использования этого подхода. В статье приводятся популярные ошибки:
👉 Неверное использование runBlocking
👉 Отмена исполнения Coroutine
👉 Особенности работы из-за structured concurrency
👉 Неверная работа с CoroutineScope
#AndroidBroadcast

📺 Планы Android Broadcast 2021 (21 мин)

Рассказал как остался без работы, что планирую делать дальше и об амбициозных планах на 2021 по развитию Android Broadcast.
Higher order functions, how, why and what not to do.

Разбор разлиных аспектов высокоуровневых функций в Kotlin
Forwarded from Android Broadcast
#AndroidBroadcast

За 2 зайцами: нужно ли уметь разрабатывать под Android и iOS

Сегодня в 19.00 (GMT+3) соберёмся, чтобы обсудить стоит ли разрабатывать под две мобильные платформы или сконцентрироваться на одной. Не обойдем стороной и трансформацию нативных разработчиков в кроссплатформенные

Гость - Алексей Гладков, автор канала Mobile Developer, технический архитектор Леруа Мерлен, барабанщик, прогеймер
#Kotlin

Kotlin 1.4.30-RC

Готовится к выходу минорный релиз Kotlin, который привнёс:
🔥 JVM IR компилятор бэкенд перешёл в Beta
🔥 JVM IR бэкенд будет включен по умолчанию в 1.5
🔥 Превью sealed interface, которые появятся в 1.5
👉 Минорные улучшения
👉 Улучшения в IDE
👉 Исправление багов
#Kotlin #Multiplatform

Результаты первого опроса Kotlin Multiplatform (EN)

Прошёл первый опрос по Kotlin Multiplatform и JetBrains делится его результатами.

Портрет пользователя KMP:
👉 Преимущественно с опытом в Android
👉 5+ лет опыта в разработке
👉 Используется в основном для шаринга кода между iOS и Android

Больше информации в статье
#Kotlin #Roadmap #Coroutine #KMP

Обновление Kotlin Roadmap

Обновили состояние Kotlin Roadmap. Что готово:
Compiler core: Новый компилятор теперь собирает себя сам
Kotlin/Native: Производительность работы: улучшено время аллокации объектов
KMM plugin. Исправление основных багов
KMP: KMM plugin: Запуск общих тестов на Android устройствах (частично)
kotlinx-coroutines 1.4

Также были изменение приоритеты и добавлены новые, например:
В старом JVM backend не будут фикситься баги, все силы на новые
Многопоточные Coroutine для Kotlin/Native
Улучшение управление зависимостями на iOS
#AndroidBroadcast #Multiplatfrom #Livecoding

🔴 Превращаем Android приложение в Kotlin Multiplatform
Понедельник, 25 января, 10:00 GMT+3

В прямом эфире переведём приложение из Android в Kotlin Multiplatform для поддержки Android и iOS одновременно.

Эксперт - Анна Жаркова, Mobile Lead Developer/Usetech
Разработчик с опытом более 7, пишет нативно под IOS (Swift/Objective-C), Android (Kotlin/Java) и кросс-платформу. Интересуется Kotlin Multiplatform. Помимо этого преподаёт в Otus на курсах по iOS. В свободное время изучает немецкий и китайский языки, увлекается живописью
#Kotlin #stdlib

Kotlin Standard Library Safari. Strings (7 минут)

Новый подкаст с обзором различных API из стандартной Kotlin библиотеки. В первом эпизоде рассматривается API класс String

Информация будет полезна новичкам, а также тем кто не бороздит API, а надеется на его понимание на лету в IDE
#Multiplatform #Mobile #Multithreading

Kotlin Multiplatform. Practical multithreading

Серий статей о работе с KMM и особенности многопоточного программирования
Bad Kotlin Extensions

Extension - одна из самых популярных возможностей языка Kotlin, но множество разработчиков используют её слишком часто и даже там где лучше использовать обычную функцию.

Автор разбирает примеры удачных и неудачных расширений, а также выводит рекомендации какие функции надо делать расширениями, а какие лучше оставлять как есть. Главное отличие - ваше расширение действительно добавляет новый функционал, глобальный для типа, либо код внутри функции очень специфичен для вашего приложения и неочевиден по смыслу другим разработчиком.
Philips Case Study: Building Connectivity with Kotlin Multiplatform 

Philips рассказывает о своём опыте использовать Kotlin Multiplatform Mobile для создания SDK под Android и IOS
Forwarded from Android Broadcast
#AndroidBroadcast #Kotlin #Multiplatform

MOKO - готовый фреймворк для Android + iOS приложений на основе Kotlin Mobile Multiplatform
Когда: понедельник, 1 февраля, 10:00 (GMT+3)

Опыт компании IceRock в разработке мобильных приложений (нескольких десятков) с использованием Kotlin Multiplatform. Результат этого опыта - MOKO

Гость выпуска - Алексей Михайлов, CTO в IceRock Development
Технический директор компании аутсорс разработки, в прошлом разработчик под мобильные платформы Android и iOS. В студенчестве создал soProject для S.T.A.L.K.E.R. :)
Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter

JFrog закрывает кучу своих сервисов, включая Bintray. Практически все современные библиотеки заливались на этот сервис, так что у авторов много работы, ведь в конце февраля опубликовать новые не получится. Теперь Maven Central ?
Вышел Kotlin 1.4.30

Вышла новая версия языка Kotlin, которая включает:
👉 Backend нового IR компилятор на JVM достиг Beta. В версии 1.5.0 он станет основным. Старый компилятор больше не поддерживается
👉 Sealed интерфейсы
👉 Поддержка JVM record. Подробности
👉 Sealed классы теперь можно объявлять не только в одном Kotlin файле, но и в рамках одного пакета одного модуля
👉 inline классы теперь становятся value классами. В будущем inline class будет невозможно использовать и останется только value class
👉 В inline классах теперь можно использовать init блок
👉 Добавлена поддержка Gradle Configuration Cache
👉 Новое API String.uppercase() и String.lowercase() не требующиепередачи локали

Изменения в Kotlin/Native:
👉 Ускорение компиляции
👉 Поддержка Apple watchOS 64-bit симулятора
👉 Поддержка XCode 12.2
Forwarded from Android Broadcast
#Coroutines #UnderTheHood

Bridging the gap between coroutines, JVM threads, and concurrency problems

Хотите узнать как работают Coroutine на JVM? Как они связаны c Java потоками? Какую роль в этом выполняет CoroutineDispatcher? В статье найдете ответы простым языком с отсылкой в исходники
#KotlinX #Serialization

К выходу готовится kotlinx.serialization 1.1.0

Представили первую RC следующей версии KotlinX Serialization. В новой версии появится:
👉 Экспериментальная поддержка inline классов (только новый IR компилятор). Подробности
👉 Поддержка сериализации unsigned типов: UIntULongUByte, и UShort. Подробности
👉 Улучшения API
👉 Исправление багов
👉 Улучшение производительности

Для работы новой версии библиотеки вам надо обновиться до Kotlin 1.4.30 или новее. Также перед финальным релизом 1.1.0 могут быть внесены изменения.