Kotlin Multiplatform Broadcast
9.48K subscribers
834 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
Кодогенерация (а значит kapt) - это уже неотъемлемая часть современных Android проектов. Мы знаем что это медленно и затратно по ресурсам.

Вопрос "как глубоко днище потребления ресурсов kapt-ом" раскрывается в статье. На примере проекта автора - чуть меньше половины времени всей сборки - это генерация кода.

Молимся на Kotlin Symbol Processing (KSP)
👍12🤯1
Код задания для квиза #quiz
🤔12👍21
Kotlin Multiplatform Broadcast
Какой из этих вызов валидный (функция выше)?
Пояснение ответа:

В Kotlin уже давно можно делать именованные аргументы. Раньше так можно было поменять их порядок, а позже стало возможно делать именованные аргумент как пояснение только для отдельных аргументов при условии что их порядок передачи не меняется.
👍59🤔521
Kotlin Coroutines use cases for Presentation/API/UI Layer

Разбор популярных способов запуска корутин в Android приложения и не только

#coroutines
👍102👎2
Samples of Using KMMBridge

KMMBridge - это Gradle плагин, который упрощает процесс публикации KMP SDK бинарников в репозиторий. Это упрощает iOS разработчикам использованием KMP SDK без необходимости установки инструментария Kotlin или собирать Kotlin код каждый раз. В статье приводится пример как сделать настройку плагина в проекте.

#kmp
🔥15👎2👍1
Как замедлить выполнение корутины? (EN) Да, да! Все верно. Тормозить код тоже кому-то надо, чтобы защититься от "timing attack"

"timing attack" - это подход, когда атакующий на основе длительности выполнения запросов выявляет уязвимости

#coroutines
🤔11👍2👌2
Какое исключение выбросит вызов checkNotNull(null)
Anonymous Quiz
10%
RuntimeException
26%
IllegalStateException
35%
NullPointerException
29%
IllegalArgumentException
🔥37👍10🍓21
Довольно хороший разбор Kotlin Symbol Processing (KSP) на русском:
👉 ограничения
👉 принципы работы
👉 запуск
👉 как происходит генерация кода
👉 инкрементальная генерация
👉 несколько раундов
👉 пример реализации собственного генератора кода

#ksp
👍33
Вышел Koin 3.3.1 с исправлениями багов в Android
❤‍🔥24
Вышел KtLint 0.48.0
👉 Переписали правило indent (оступы) и теперь оно должно работать нормально
👉 Изменили пакеты классов (кто завязывался на API могут сломаться)
👉 Обновления в работе с .editorconfig
👉 Исправление багов
🔥12
Forwarded from Android Broadcast (Кирилл Розов)
Автор Koin взял исходники Now In Android (хорошего примера современного Android приложения по версии Google) и решил заменить Dagger/Hilt на Koin. Результат в репе на GitHub, а в серии статей автор расскажет про процесс замены подробнее.
👍25👎1
📄 Launching coroutines vs suspend functions

Статья с разбором отличий suspend функций и запуском корутины и когда что нужно делать

#coroutines
👍19
📣 Обновление Kotlin Roadmap. Декабрь 2022

Самыми важными приоритетами разработки является
👉 новый Kotlin компилятор (K2). Планируется вывод в Beta
👉 Kotlin плагин для IDEA на основе K2. Все станет быстрее
👉 стабилизация Kotlin Multiplatform Mobile
👉 улучшения опыта разработчиков библиотек.

Фичи языка:
👉 until оператор
👉 современная замена Enum.values()
👉 поддержка нелокальных break & continue
👉 дизайн и реализация toString в object

Прочее:
👉 улучшение новой менеджера памяти в Kotlin/Native
👉 ускорение компиляции Kotlin/Native
👉 ускорение работы и стабильности IDE плагина
👉 улучшение опыта с Gradle Kotlin скриптами
👉 стабилизация библиотек и документации

#roadmap #kotlin
23👍5🔥5
Продолжение рассказа про миграцию Now In Android на Koin. В новой части рассказывается про описание модулей и inject зависимостей
👍18❤‍🔥1🥴1🌚1
Планы по развитию Ktor на 2023

👉 Выход новой мажорной версии - 3.0
👉 Выход нового упрощенного API для роутинга
👉 Переход на Tomcat 11, Jetty 11, Apache Client 5
👉 Выделение IO в отдельную библиотеку
👉 Упрощение входа в фреймворк и легкий первый запуск
👉 Развитие инструментария

Что было сделано за 2022 год можно узнать тут
👍22
В честь нового года устраиваем розыгрыш призов. Призы - рюкзак XD Design Bobby Hero Regular. От вас подписка и вступить в участие в конкурсе. Подведу итоги 15 января.
👍81🔥8👎7🍾3
Forwarded from Android Broadcast (Кирилл Розов)
🔴 Подводим итоги 2022
Когда: сегодня, 28 декабря, среда, 18:00 (GMT+3)

Сегодня вечером я с Лешей Гладковым, автором Mobile Developer, проведем стрим на моем канале, где подведем итоги года, ответим на ваши вопросы и просто классно проведем время! Посидим, поворчим 😁

#AndroidBroadcast #live
👍18🍾9👎7🤓1
Вышел Kotlin 1.8.0
👉 Отключение оптимизаций кода при компиляции. Предназначено для лучшего дебага кода
👉 Полностью удален старый бэкенд компилятора
👉 Поддержка аннотации @Builder из Lombok
👉 Поддержка XCode 14.1
👉 Улучшение интеропа с Obj-С и Swift
👉 В KMM заменили схему расположения сырцов в Android, но она отключена по умолчанию
👉 IR бэкенд JS компилятора теперь стабилен
👉 Улучшена скорость работы kotlin-reflect
👉 Kotlin теперь поддерживает только JVM target 1.8. Стандартных библиотек под 1.6 и 1.7 не публиковалось. Теперь только один артефакт - kotlin-stdlib
👉 Обновление документации

🔨 Gradle (подробности)
👉 Поддержка Gradle 7.2 и 7.3.
👉 Миграция опций компилятора на Gradle Lazy Property для соотвествия современным требованиям плагинов
👉 Все подключенные стандартные библиотеки Kotlin теперь по умолчанию будут совпадать с версией подключенного Kotlin плагина
👉 Возможность отключить fallback стратегию в Kotlin компиляторе

Поддерживается в Android Studio Electric Eel (221), Flamingo (222) и IntelliJ IDEA 2021.3, 2022.1, 2022.2
🔥42👏12👍8👎2
Итоги года @kotlin_broadcast. Рад что канал растет, но удивлен что его аудитория никак не может догнать @android_broadcast

Конечно же новый формат квизов тут зашел на ура! Продолжу их в 2023
👍22🎉15👎5👏2