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
Exploring "select" expression of Kotlin coroutines

select - это специальная функция, которая дожидается результата нескольких suspend функций и возвращает результат первой выполнившейся. В статье разбираются ее подробности и применение

В комментариях пишите примеры использования такой функции на практике

#coroutines
👍13🤔8😁1
В Kotlin 1.7.20 можно попробовать Generic Inline Classes. Небольшое улучешние, которое сделае ваш код надежне и позволит компилятору не дать вам сделать ошибки. Фича экпериментальная и пока работает только на Kotlin/JVM

📺 Видео обзор
🔥13👍6😁1🤔1
🎉 Kotlin Multiplatform Mobile (KMM) вышел в Beta

Что значит Beta для KMM:
👉 Технология практически готова и ее безопаснос использовать
👉 Количество изменение, требующих миграции, будет минимизровано и авторы стараются такого не допускать

Время пробовать и интегрировать технологию, ведь она уже много где есть в продакшене!
🔥31🎉12😁2👍1
Forwarded from Android Broadcast (Кирилл Розов)
🔥 Google анонсировал экспериментальное превью мультиплатформенных Jetpack библиотек на KMM. Давно уже шло что везде чистый Kotlin, а переносимость Jetpack Compose на другие платформы то и Jetpack либы тоже в этом помогут.

Сейчас мультиплатформенным являются Collections и DataStore. Почему? Да они прекрасно кладутся на функционал который есть на разных платформах, а под капотом используется платформенная реализация или из языка под капотом (например Java Collections)]

Делитесь мнением по поводу официальной поддержки KMM в Android

#kmm #jetpack
🔥26👍7🤔5😁2
Forwarded from Android Broadcast (Кирилл Розов)
📺 Новости мобильной разработки (24 мин)

В свежем выпуске разбираю
👉 анонс KMM Beta
🔥 Jetpack Multiplatform на Kotlin
👉 новый формат Android Dev Summit
👉 Jetpack Compose for Android TV
👉 новые Google Pixel устройства

🎧 Подкаст версия
📺 Версия на YouTube

#AndroidBroadcast
👍11🤯2🤔1
Forwarded from Android Broadcast (Кирилл Розов)
Договорился на интервью про KMM Beta, состояние технологии и ее будущие. Отвечать будут представитель JetBrains. Задавайте свои вопросы в комментариях
🔥62🤔2
KStore - простая мультиплатформенная библиотека для сохранения и восстановления объектов на/с диска

Исходники на GitHub

#kmp
🔥17👍2😁1
Вышла первая стабильная версия Odyssey - библиотеки для навигации в Compose Multiplatform. Поддержка Compose 1.2.0 и современного набора потребностей разработчиков. Автор - Алексей Гладков

#compose #kmp
🔥38😁13👍8🤔2
TouchLab представили KMMBridge - набор Gradle инструментов для помощи в публикации и использования pre-build KMM Xcode Framework бинарников

👉 Документация
👉 Исходный код на GitHub

#kmm #gradle
🔥5🤔2
В статье рассказывается подход как можно с помощью sealed классов отказаться от null. Как вам?
🤯32👍8😁61
Задание тут
🤔23👍1
data - непустой List из строк. Какой код не сработает?
Anonymous Poll
7%
data.map(::toValue)
7%
data.map(Utils::toValue)
40%
data.map(Util::toValue)
21%
Все варианты рабочие
🤔10👍7👌3🤯1
Kotlin Multiplatform Broadcast
data - непустой List из строк. Какой код не сработает?
Правильный ответ data.map(Util::toValue). Код для задания был постом выше перед опросом. Подробности в комментариях
🎉33🔥9👍5🤯4
В data object в отличие от object будет переопределены:
Final Results
6%
toString() + equals()
10%
equals() + hashCode()
48%
toString() + equals() + hasCode()
37%
toString()
👍28🤯12🔥2
Kotlin Multiplatform Broadcast
В data object в отличие от object будет переопределены:
Правильный ответ - toString(). Подробности и обсуждение в комментариях

Важно - это фича в экспериментальном статусе и будет введена в Kotlin 1.8
👍4🤔3
Вышел Realm Kotlin 1.4.0
👉 Kotlin 1.7.20
👉 Миграция на новую модель памяти Kotlin/Native
👉 library-sync теперь поддерживает Apple Silicon
👉 Исправление багов
👍14🤔2
Дизайн с учетом читаемости кода

Kotlin - язык с кучей возможностей и синтаксическим сахаром. Одни и те же вещи сделать можно множеством способов. Какой правильный? Краткость - это лучший вариант?

Из своего опыта могу сказать, что читабельность важнее. Лучше сделать больше строчек и выделить методы/классы/интерфейсы, чтобы разобраться в коде было проще. Короткие конструкции языка зачастую используют сложные операторы и фичи, которые поймут не все. Даже самому со временем может быть сложно понять этот код.

Что вы думаете на этот счет? Делитесь своим мнением в комментариях
👍77😁1
Forwarded from Mobile Developer (Алексей Гладков)
Всем привет, вот и долгожданная информация по курсу Kotlin Multiplatform

Я сделал видео и стрим, где ответил на самые популярные вопросы по курсу, так что рекомендую с ними ознакомиться

TL;DR
🔥 Курс доступен сразу и целиком
🔥 Цена 5000 рублей
🔥 Подходит разработчиком с опытом от полугода и выше как iOS, так и Android

Также я хотел бы рассказать краткий состав курса:
👉 Создание проекта и настройка зависимостей
👉 Настройка ядра проекта
👉 Запросы с сервера и кэширование
👉 Верстка Android (клиент)
👉 Настройка iOS через Xcode
👉 Верстка iOS (клиент)
👉 Верстка Desktop (админка)

В проекте есть многомодульность, навигация, архитектура, мультиплатформенность, работа с плагинами градла и так далее

Если вас это заинтересовало, то вот инструкция как приобрести этот курс. Там есть варианты как для тех, кто из России, так и для тех кто не из России, а так же для юр. лиц.

Приятного просмотра!
P.S. У кого не открывается инструкция попробуйте VPN (да-да в такое время живем)
27👍5🤔5🔥4
Какой код из этого не скомпилируется? (Kotlin 1.7.20 без экспериментальных фичей)
Anonymous Quiz
10%
val value by lazy { computeValue() }
41%
var value by lazy { computeValue() }
13%
val value by Delegates.notNull<Any>()
13%
var value by Delegates.notNull<Any>()
24%
Все варианты работаю
👍24🔥8
Forwarded from Android Broadcast (Кирилл Розов)
Сборник лучших практик по использованию Gradle, который содержит банальщину вроде "используйте самую свежую стабильную версию" до управления зависимостями, ленивой инициализации и кэширования

#gradle
👍15